如何移动相机进行2D游戏?

时间:2016-01-09 17:04:34

标签: java

我尝试过关于如何做到这一点的教程,但我总是感到困惑,因为他们有很多代码,他们不能很好地解释。我想知道一切都是这样做的。当玩家按下右箭头按钮时,让摄像机移动的最简单方法是什么。

1 个答案:

答案 0 :(得分:2)

通常,您必须了解模型空间,世界空间和视图空间之间的差异,并在这些单独的坐标系之间进行转换。

创建一个名为Camera的类,它具有x和y坐标 - 或者更好的是,相机矩阵(投影和世界矩阵的组合)。

创建一个表示游戏对象的Entity类。它们应该有x和y坐标,也许是一个角度 - 或者更好的是一个世界矩阵。

创建另一个名为SceneGraph的类,它基本上是一个空间容器,允许您通过坐标存储实体并查询哪些实体位于某个边界矩形内。

您的渲染循环将如下所示:

  • 查询场景图以查找摄像机视图内的实体。
  • 对于每个实体,将其世界坐标转换为视图空间(屏幕坐标)并渲染它。