LWJGL—如何使用精灵动画和渲染角色 Sheet

LWJGL—How to Animate and Render Characters Using a Sprite Sheet

我正在制作一款类似于 90 年代早期超级任天堂角色扮演游戏的角色扮演游戏。我处理的运动很像 Squaresoft 的 Final Fantasy IV

请注意,玩家实际上从未改变他在屏幕上的 x 和 y 位置。准确地说,我要问的是,在 LWJGL 中,我如何通过用户输入(例如,箭头键),获取 sprite sheet 我的角色的运动动画 并像上面那样以 [部分] 流畅的动画渲染它们?

我已经在互联网上浏览了几个小时,但我还没有找到一个万无一失的方法来做到这一点。我还没有任何代码;我或多或少正在寻找关于如何解决这个问题的指导方针或一些正确方向的指示。

而且,需要注意的是,这将是一个相当大的游戏,所以我想部分关注速度和效率——这意味着我不想深入研究 Slick2D 和 libGDX,除非绝对必须的。

我认为枚举一系列 BufferedImage[] 是自制解决方案的最佳选择。有人做了一个简单的例子 over here. 从你的 spritesheet 中拉出图像来创建数组,然后根据需要在 sprite 之间交换。可能构建一个 AnimationManagerAnimations 之间移动可能会有所帮助。