2011-09-10 163 views
0

我正在用Java创建我的第一个游戏。这是一个简单的2D自上而下的射击游戏。我想让相机跟随我的角色,因此,使用Canvas,我该如何制作它,以便相机在中心位置精确地追踪角色。当我点击箭头键时地图正在移动。用于逻辑Java 2D游戏问题

+1

Swing or AWT?我在Swing中使用JScrollPane(没有滚动条)做了这样的事情,并设置了模型的值。 –

+0

您是否想要逻辑或使Canvas调用的Java部分? –

+0

我想我想要的逻辑。 – Anonymous

回答

1

一种可能性是这样的:

  • 创建一个监听并将它附加到您的字符(直接或间接地取决于你的设计)。倾听角色移动或位置变化。
    • 直接表示你的角色类有一个addListener方法。
    • 间接意味着你的角色类将事件发布到全局事件总线上,监听器用它来注册以接收特定类型的事件。
  • 根据字符位置&相应地计算相机位置。这将需要一点数学!

通过使用事件系统实现此功能,您可以轻松地将相机居中的逻辑与移动字符的逻辑分开。通过这种方式,您可以移动箭头键,也可以使用点击移动并且相机逻辑不受影响。

对不起,我不能提供关于您可能需要调用的实际Java 2D和Canvas调用的一般帮助,但我希望有关如何执行此操作的广泛示例有所帮助!

+0

谢谢,这是一个很大的帮助!我对Java游戏开发相当新颖,所以我想知道我是如何制作一个“相机”的。像我如何使用“相机”缩放/平移?我知道你必须相应地确定其他所有东西,但是我能否在正确的方向上做出示例/步骤? – Anonymous

+0

我并不那么熟悉这样的事情,但我可以推荐看看[Killer Game Programming in Java](http://shop.oreilly.com/product/9780596007300.do)的例子。 –