如何区分animation从ios单精灵表单?
我正在使用sprite工作表的应用程序没有cocos2D
帮助。
我使用下面的图像作为精灵表
在弓图中有许多不同的图像。 我想让他们在不同的位置animation
我按照这个教程,但它只有一个animation
UIKit的-TexturePacker
我想在没有cocos2d(使用UIKIT)的帮助下实现这一点。
任何帮助,将不胜感激。
你有两个select:
困难的方法你把精灵表原样,并提取精灵的坐标和大小。 有了这些信息,你将不得不用数据创build一个.plist文件:
<key>green_bird</key> <dict> <key>x</key><real>2</real> <!-- x position in the sheet --> <key>y</key><real>259</real> <!-- y position in the sheet --> <key>w</key><real>126</real> <!-- width in the sheet --> <key>h</key><real>255</real> <!-- height in the sheet --> <key>oX</key><real>13</real> <!-- offset in the sprite, x--> <key>oY</key><real>2</real> <!-- offset in the sprite, y--> <key>oW</key><real>150</real> <!-- original width of the sprite --> <key>oH</key><real>261</real> <!-- original height of the sprite --> </dict>
加载程序处理删除了精灵周围的透明度。 这是oX,oY,oW和oH值的来源。 他们给你精灵的原始大小和原始精灵的位置。 你可能会离开他们在oX = 0,oY = 0,oW和oH和w和h一样。
简单的方法
你需要一些graphics软件(Photoshop,Gimp等),并从精灵表中分割出精灵。
切割时alignment精灵:使所有同一animation的精灵大小相同。 检查它们是否重叠很好。 如果你不这样做,当你想使用精灵作为animation时,你会遇到麻烦。 他们会抖动。 你不要那个。
最后给他们好听的名字:red_bird_01.png,red_bird_02.png等等。
现在将它们拖放到TexturePacker上。 它将为您重新创build布局 – 在animation中使用表单所需的所有信息。
由于您正在使用教程中的加载程序代码,因此您也可以启用修剪function(这会消除透明度),重新填充的精灵图纸将比原来的小得多。
顺便说一句。 有一个教程解释了您在github上find的示例代码中的细节: https : //www.codeandweb.com/blog/2013/05/16/uikit-animations-with-texturepacker
关于游戏开发的最后一句话
如果你想挖掘游戏开发,我真的build议你得到一些游戏开发框架 – cocos2d,cocos2d-x,spritekit,…他们会让你的生活变得如此简单。 开始可能需要一些时间 – 但是他们处理graphics的东西效率更高,还包含物理引擎和所有其他需要的东西。 从头开始构buildUIKIT不是一个好主意。
- 使用UIView animateWithDurationanimation时,不能触摸UIButton
- 带有AVAudioPlayer的SKEmiterNode用于音乐视觉效果
- 使用CAAnimationGroup进行序列animation
- 自定义视图与CALayer的有线效果,当animation边界改变
- 在执行代码之前等待Swiftanimation完成
- 使用CABasicAnimationanimation框架属性
- UIBezierPath + CAShapeLayer – animation圈起来填满
- animationUICollectionViewCell折叠
- CAKeyframeAnimation手动进度