java - 如何在 Java 中为一系列图片制作动画?

标签 java animation paint

好吧,我正在做一个小游戏,我有一个攻击函数来处理角色的实际攻击部分,但我不知道如何制作构成攻击 Action 的三张图片(一张举剑,然后对角线,然后直接在前面)动画所以它看起来就像剑在 Swing 。

此外,我该如何做到这一点,以便当角色离开屏幕时, View 会更改以显示新 View 。就像我走过屏幕一栏,它显示一个新栏,屏幕中的第一栏现在不在屏幕上?

最佳答案

我会遵循本教程:http://www.tonypa.pri.ee/tbw/start.html

它不适用于 Java,但您可以根据需要调整代码和概念。算法很重要。

对于动画角色,我会创建一个存储一组图像的 Sprite 类。在绘图方面,您只需调用一个 paint(..) 方法并传入 Graphics2D 对象即可。在这里,根据自上次调用以来耗时更新 paint(..) 方法中的当前图像(使用 System.currentTimeMillis()),然后使用 Graphics2D 对象绘制它。如果你特别聪明,你可以做一个算法来计算 Sprite 在什么帧而不存储任何状态信息(使用模数和指定的公共(public)时间分母,比如 2ms——确保帧时间是 2ms 的倍数) .

如果您正在寻找游戏开发库,那么最近出现了一个相当不错的库 -- Shaven Puppy Game Library (spgl) 使用 LWJGL(轻量级 Java 游戏库 - 使用 SDL/OpenGL),由泰坦复仇的创造者制作,这是一款成功的 2D 游戏,使用硬件加速在 Java 中编码。它有一个巨大 sprite framework .可能是我见过的最大的。您可以在文本文件中定义 Sprite ,以及 Sprite 发出的声音。另一个是 Slick .简单的是 GTGEJGame .

关于java - 如何在 Java 中为一系列图片制作动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5570618/

相关文章:

html - 有多张图片时,如何只在单张图片上应用CSS动画?

java - 线程中的实例化组件不会重新绘制到 Java 中的 JFrame 中

java - 对 JFrame 的位置进行动画处理

dart - 如何使用 flutter 制作水彩笔

java - paintComponent 有时只调用

java - 奇怪的乐观锁异常

java - g++:如何解开导出的符号

java - Android:ActionBar(Android支持库)

java - 日期格式差异

javascript - 如何让眼睛跟随div之外的鼠标