0

我想知道是否可以对多个精灵使用单个计时器或调度程序方法?就像我现在正在开发游戏一样,可能有任意数量的精灵,我想对所有这些精灵执行一些操作,那么我是否必须使用与精灵一样多的计时器或调度程序?或者如何仅使用一个计时器或调度程序来完成这项工作?如果我安排一个方法并将其用于,说 10 个精灵怎么办?会不会影响性能..?

4

1 回答 1

0

这在大多数游戏中都很常见。通常你会使用一个相似的对象列表来进行不同的操作。粒子系统就是这样工作的,使用单个对象更新所有精灵的位置。不过,在我的游戏中,我有很多对象,每个对象都有自己的更新功能,即使它们是同一类型。

for (GameObject* object in objects)
    [object update:dt];

我想它更像是一个性能问题,一旦你遇到问题,或者如果你知道你将进行繁重的处理,就应该对其进行优化。像这样的东西可能在更新函数上,会涉及更少的函数调用,并且可能会更有效,但我认为它真的不值得,因为首先尝试优化的东西可能会在绘图侧而不是逻辑方面(如 spritebatch 或粒子系统)。

for (CCSprite* sprite in sprite)
{
    sprite.x = someVariable;
}
于 2012-08-04T19:20:08.580 回答