Android上的Java侧滚动游戏

时间:2010-06-17 04:27:05

标签: java android

我正在尝试制作一个简单的侧滚动游戏,只是为了学习Android上游戏编程的绳索。我提出了如何制作它的解决方案,但我并不认为这是最优雅的解决方案。我想对如何实现我的游戏有一些不同的想法,因为我现在还没有其他解决方案。

以下是它如何运作的快速解释。

我基本上有块或对象从屏幕顶部掉落。这些块是根据我使用自定义“地图编辑器”创建的预定义字符串定义的。

我在编译时创建所有块,将它们放在屏幕上或屏幕外,只需在游戏循环的每次迭代中增加它们的坐标。

它实际上比那更好一点,但这给出了一个简单的基本想法的解释。

我从一些人那里听说,不是增加每个块的位置,而是让块留在那里,只需更改可视区域。这是有道理的,但我不知道该怎么做。

任何人都可以就如何实现这样的事情分享一些想法或链接吗?我知道我目前的解决方案不是最好的。

谢谢!

3 个答案:

答案 0 :(得分:7)

为了在android上学习游戏编程的绳索,我会指出你去年的Google I/O 2009 - Writing Real-Time Games for Android I / O会话和2010年会议的this会话。

人们告诉你有关更改可视区域的信息可能是假设你正在使用OpenGL ES,你可能不会这样,但可能应该考虑。

答案 1 :(得分:3)

如果块/对象彼此独立,我会继续将它们视为独立对象并分别更新它们的位置。毕竟,你可能希望有一天能让他们中的一些人彼此不同。在游戏开发中,尽可能灵活地让引擎保持灵活性是很好的 - 抛光游戏需要进行大量的游戏测试和游戏机制的微调,以及你需要调整的东西越多。更精致,你可以得到它。仅在必要时进行优化。

但是如果这些区块不是独立的,也不会是独立的,那么改变观看区域而不是移动每个区块可能是一个好主意,尽管有关你的游戏的更多信息会有所帮助 - 它是平台游戏吗?一个射手?如果在游戏区域中存在某种玩家控制的对象,则在更改可视区域时,您将不得不改变其位置以使其保持在屏幕上,这可能会使事情变得过于复杂。没有更多细节,很难提出建议。

好问题,但是!

编辑:

根据你的评论,我看到了你的另一个问题Problem decrementing in Java with '-=';我认为我的问题要好一点 - 从设计的角度来看,我要改变的主要方面是根据需要创建块,而不是一次创建所有块。换句话说,在它们将出现在屏幕上之前在框架上创建块,并且一旦它们离开屏幕,就删除它们。当然,除非游戏设计需要一个大型的持久世界 - 但它听起来并不像那种游戏。玩家可以回溯,还是只允许单向滚动?

答案 2 :(得分:3)

Replica Island(http://code.google.com/p/replicaisland/)是一个开源的Jump&在Android上运行游戏。 (这是来自写作实时谈话的人)也许你可以从中得到一些好的想法。