2012-07-19 72 views
0

我在C中编写了一个GameBoy Advance游戏,我试图想出产生敌人的最有效方式。该游戏将与SpyHunter(http://en.wikipedia.org/wiki/Spy_Hunter)类似。C在2D游戏中产生敌人的算法

问题是我不知道在屏幕上方随机出现的敌人最有效的方式是什么,并且屏幕上同时不会超过3或4个。

我想过在屏幕顶部的随机位置创建4个结构,只要到达底部,就会在顶部再次初始化,然后使用随机位置进行初始化,但我不知道这是否是最高效的算法。

我该如何产生敌人?

回答

0

您勾画的算法看起来效率很高。

您只是为屏幕上想要的实际精灵分配内存。无论如何,您需要跟踪屏幕上的位置以正确呈现它们。一旦他们离开屏幕,您将重新使用现有的结构。没有比这更好。

一个想法是在精灵离开屏幕之后随机延迟一段时间,然后再重新初始化屏幕顶部的随机位置。这会导致一些变化。

+0

感谢您的建议,我实际上在模式3中编写游戏,所以我只有丑陋的矩形担心,而不是瓷砖,但我想同样的概念适用。我将试着通过使用一个在循环中浪费处理器周期的函数来实现延迟,因为我仍然不知道如何使用GBA中的定时器。 – user1536668 2012-07-19 04:31:44