跟踪未命名的对象

时间:2012-11-06 14:51:24

标签: android libgdx

我想用libgdx做一个自上而下的2D射击游戏。当我们离开屏幕时,会有很多子弹对象需要跟踪和处理。我以为我会使用像

这样的东西
static ArrayList<Bullet> bullets;

要在 Bullet 类中跟踪我的项目符号,请检查此数组列表中是否有不在屏幕上的项目符号,如果是,请将其丢弃,然后从ArrayList中删除该项目符号。我想知道这是否是最好的方法。这似乎应该很常见,所以我想确保这是最好的方法。

1 个答案:

答案 0 :(得分:3)

使用object poo l是一种更好的方法。

对象池的概念很简单,在这种情况下非常适合您的需求。池处理创建和存储Bullet对象。您需要做的就是在需要子弹(用户射击)时调用池的obtain方法,并在游戏中不再需要时调用该子弹池的循环方法(离开屏幕)

这是从AndEngine的源代码中获取的池的code example。您可以使用它来了解它的工作原理并创建自己的池类(或使用此类)。