相机为2d游戏

Pah*_*aha 1 java camera 2d slick2d

我目前正在制作一个很棒的(在我看来)僵尸游戏,我需要知道制作相机的好方法.我正在使用Slick2d库和MarteEngine for java.

我对java很陌生并直接跳进了一个库,然后才真正深入了解,所以这可能是缺乏图形知识.我读了一个教程,你不能在地图上实际移动游戏的窗口,所以你需要移动地图和对象,使它看起来像相机正在移动.

如果我这样做,似乎它会非常耗费资源.我将不得不遍历每个僵尸,幸存者,物体,hitbox等移动他们的坐标.我已经尝试了一次这种方法,事情并没有真正以同样的速度移动.这可能是因为我以不同的更新速度处理它.

我已经看过使用graphics.translate的一些事情,但我真的不明白.那么......任何有关移动相机的建议都会很棒!提前致谢.

jef*_*unt 11

你绝对可以移动相机.请参阅我对这个问题的解答,解释如何移动相机,渲染相对于所述相机的世界,以及一些其他有用的提示,了解如何执行此操作以及如何决定在相机移动时在屏幕上绘制什么.

虽然它完全可以使用translate(x, y),但仅凭这一点并不能解决剪裁问题(如何知道在屏幕上绘制什么),而且它并不是一切.此外,当你考虑它时,翻译表面和移动相机之间真的没什么区别.这一切都是相对的,只要像素在正确的方向上移动,如果你"相对于世界移动相机"或"相对于相机移动世界"并不重要 - 它们是基本上是相同的操作.

就Swing而言,很高兴你没有从那里开始.Swing专为具有窗口,菜单,按钮,复杂事件系统等的桌面应用程序而设计.出于多种原因,Swing对于游戏来说是可怕的,其中最重要的是渲染管道在Swing中的工作方式; 这对于桌面应用程序来说很好,但对于游戏和大多数需要实时和图形密集的渲染类型而言,它们变得绝望.这一切都没关系,因为Swing不是为解决游戏开发者的问题而构建的.