我正在用 Java 创建我的第一个游戏。这是一款简单的2D自上而下射击游戏。我想让相机跟随我的角色四处移动,所以,使用 Canvas,我该如何制作,让相机准确地跟随角色的中心。当我按下箭头键时 map 正在移动。
最佳答案
逻辑的一种可能性是这样的:
- 创建一个监听器并将其附加到您的角色(直接或间接取决于您的设计)。聆听角色的移动或位置变化。
- 直接意味着您的角色类有一个
addListener
方法。 - 间接意味着您的角色类将事件发布到全局事件总线,监听器通过该总线注册以接收特定类型的事件。
- 直接意味着您的角色类有一个
- 根据角色位置计算相机位置并相应居中。这需要一点数学知识!
通过使用事件系统实现这一点,您可以轻松地将相机居中的逻辑与移动角色的逻辑分开。这样你可以用方向键移动,也可以用点击移动,相机逻辑不会受到影响。
抱歉,我无法提供有关您可能需要进行的实际 Java 2D 和 Canvas
调用的一般帮助,但我希望有关如何执行此操作的广泛示例有所帮助!
关于Java 2D 游戏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369512/