我正在处理使用精灵表而没有cocos2D
帮助的应用程序。
我使用下面的图像作为精灵表
在弓图中有许多不同的图像。我想让它们在不同位置制作动画
我已经按照本教程,但它只有一个动画
我想在没有cocos2d(使用UIKIT)的帮助下实现这一目标。
任何帮助都将不胜感激。
答案 0 :(得分:0)
您有两个选择:
艰难的方式 你按照原样获取精灵表并提取精灵的坐标和大小。 有了这些信息,您将不得不使用以下数据创建.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相同。
简单方法
你可以使用一些图形软件(Photoshop,Gimp等)并从精灵表中切割出精灵。
切割时对齐精灵:使相同动画的所有精灵都大小相同。检查它们是否重叠。如果你不这样做,当你想使用精灵作为动画时,你会遇到麻烦。他们会抖动。你不希望这样。
最后给他们好名字:red_bird_01.png,red_bird_02.png,等等。
现在将它们拖放到TexturePacker上。它将为您重新创建布局 - 包含在动画中使用工作表所需的所有信息。
由于您正在使用教程中的加载程序代码,因此您也可以启用修剪 - 这会消除透明度 - 重新打包的精灵表将比原始版本小得多。
顺便说一下。有一个教程解释了你在github上找到的示例代码中的细节: https://www.codeandweb.com/blog/2013/05/16/uikit-animations-with-texturepacker
关于游戏开发的最后一句话
如果你想深入了解游戏开发,我真的建议你得到一些游戏开发框架--cocos2d,cocos2d-x,spritekit,......它们会让你的生活变得更加容易。它可能需要一些时间才能开始 - 但它们可以更有效地处理图形内容,还包含物理引擎和所需的所有其他内容。 在UIKIT之上从头开始构建它并不是一个好主意。