|
|
1
1
我目前使用由一个简单的精灵编辑器生成的XML文件,该编辑器将精灵存储为一组(可选动画)姿势,这些姿势又是一组帧或单元格。帧存储每帧的信息,如图纸中帧的x和y偏移、单元格宽度和高度以及任何变换(调整大小/旋转/色调等)。姿势存储单个帧和动画信息(例如速度),以及姿势名称,以便在程序中轻松识别它们(hero.pose=sprite.spose[“standing_right”])。Sprites用作文档根,用于保持多个姿势,例如每个面向方向的姿势。 我之前使用的一种不太灵活的替代方案是为单元格和图纸指定固定大小,并根据这些值计算帧偏移和大小(例如,宽度始终为32像素,因此第三个小画像为32*2)。后来,我开始在文件名中为不符合固定单元格尺寸的精灵指定这些尺寸(例如sprite_name_32x64.png)。我更喜欢这种新方法,尤其是使用一个简单的编辑器,它为我填充了大部分值,并允许我将精灵用作其他精灵的模板。 我直接使用存储在PNG图像中的阿尔法和透明度信息,所以我不需要担心将其存储在其他地方,尽管其他方法是为每个精灵选择一个固定值并存储在某个地方,如果你知道它总是空的,则使用姿势中最左侧的像素,如果你使用这些,则使用特定的调色板条目,精灵蒙版,或者你有什么。 |
|
|
2
0
不是关于java,但一般来说,你可以使所有精灵的大小相同。因此,您将能够通过简单的for循环在游戏(或应用程序)中生成精灵。 但对于不同大小的精灵,精灵表大小可能存在问题(它可能比预期的大)。因此,您必须为精灵表定义一个xml或json文件,以便在代码中查找精灵图像。你可以使用sprite表单编辑器(有很多,我正在使用 Sprite Master )用于快速简单地生成子画面和坐标数据。 |
|
3
0
让你的角色表知道每个序列的大小和数量。 抓取工作表的缓冲图像,并使用以下内容:
你的x和y会根据你所在的框架而变化。保持宽度和高度不变,让你自己更轻松。 忘记试图将整个比赛保持在一张纸上。这很疯狂,很难管理。为每个动画序列使用新的png。如果你不想节省空间,只创建向右移动的动画,并实时翻转缓冲图像向左移动。 Java会读取带有alpha的png文件,所以不用担心透明度颜色。用PNG格式绘制所有内容。使用Photoshop或Gimp。 在谷歌上搜索java图像TYPE_INT_ARBB |
|
|
4
-1
好吧,因为它们中的大多数都是定制的,所以这些细节取决于实现者。 您通常会让文件以包含高度/宽度和编码、透明度等详细信息的标头信息开头。 很多时候,东西都在一个文件中,因为与打开/读取一个文件相比,打开/读取多个文件的成本非常高。许多游戏引擎使用压缩率为0的zip或“ziplike”文件将单个文件视为文件系统。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |