好吧,我正在做一个小游戏,我有一个攻击功能,可以处理角色的实际攻击部分,但我无法弄清楚如何使这三个图片构成攻击动作(一个用剑向上,然后对角线,然后直接在前面)动画,所以它实际上看起来像剑在摆动。
此外,我如何制作它,以便当角色走出屏幕时,视图会更改以显示新视图。就像我走过屏幕一列并显示一个新列,屏幕上的第一列现在已经在屏幕外了?
答案 0 :(得分:4)
我将遵循本教程:http://www.tonypa.pri.ee/tbw/start.html
它不适用于Java,但您可以根据需要调整代码和概念。算法非常重要。
对于动画角色,我会创建一个存储一组图像的Sprite类。在绘图时,您只需调用paint(..)方法并传入Graphics2D对象。在这里,根据自上次调用以来经过的时间(使用System.currentTimeMillis()
)更新paint(..)方法中的当前图像,然后使用Graphics2D对象绘制它。如果你特别聪明,你可以做一个算法来计算精灵所在的帧而不存储任何状态信息(使用模数和指定的公共时间分母,比如说2ms - 确保帧时间是2ms的倍数)
如果你正在寻找一个游戏开发库,那么最近出现了一个非常好的游戏开发库 - 使用LWJGL(轻量级Java游戏库 - 使用SDL / OpenGL)的Shaven Puppy Game Library(spgl) “泰坦复仇”的创造者,这是一款使用硬件加速在Java中编码的成功2D游戏。它有一个巨大的 sprite framework。可能是我见过的最大的。您可以在文本文件中定义精灵,以及精灵制作的声音。另一个是Slick。简单的是GTGE和JGame。