我的目标是能够创建一个游戏角色,在那里我可以绘制并为新的盔甲制作动画没问题。我将在flash 1对象中绘制,并在我的预制动画中使用flash动画该对象。之后,我将把提供的帧粘贴到精灵表中并粘贴到我在游戏中构建的算法中,该算法将为其设置动画。所以回顾,只绘制1帧,自动为其设置动画,并将帧放入java读入的精灵表中。
我现在唯一的问题就是有效地创建精灵表。我当然必须坚持我的精灵表的设定大小,范围可以是128x128或256x256。有效创建精灵表的好方法是什么?用于flash的内置精灵表是不好的,因为它不会创建设置正方形,而是根据图像示例的大小(126x86或其他)来划分它。我现在能想到的最好的方法是手动粘贴每个单独的部分并确保自己正确放置然后擦除边框。虽然,这不是我想要的目标,但我想在为我的角色创造新的盔甲时尽快做出努力。
我使用flash精灵表生成器错了吗?对于我来说,从闪存中创建快速精灵表(设置尺寸)的最佳方法是什么?感谢您花时间阅读本文,所有答案都会有所帮助。
以下是我生成精灵表时闪存的一些图像。它看起来很不错,但问题是有太多的空白区域。在我拥有的128x128个方格中,这些碎片不是均匀铺设的。它们占据了宽度的2/3左右。
答案 0 :(得分:1)
你实际上不必坚持spritesheet中的方框。通常的方法是优化spritesheet图像,以便可以有效地存储和上传到渲染上下文。通过这种方式,您可以通过修剪空白空间将动画的帧紧密打包,将它们置于有效的顺序(不一定与动画中的顺序相同)并以直角旋转帧。所有这些都允许存储较小的纹理。当然,如果您使用任何这些优化,您将必须存储一些映射数据以及纹理;您还需要一些能够正确读取数据和显示动画帧的代码,并对纹理应用平移和/或旋转。
您可以使用许多现有格式和库(请参阅下面的视频)。除了Animate之外,还有a number of tools生成spritesheets并优化纹理(真正加载它们)。如果您对从Animate获得的内容不满意,您还可以考虑使用Animate生成完整框架的PNG序列并使用不同的工具来打包spritesheets。创建spritesheet 的方式不依赖于您使用的显示引擎(即Stage3D),而是与用于处理结果纹理的库相关联。
There's a video解释adobe animate spritesheets。从2:50看,它解释了数据格式和修剪。你可以 使用Animate创建全框spritesheets:这种方式你不必使用库来播放精灵动画,但你会存储更大的纹理,可能不符合2048x2048纹理大小Stage3D的限制。