Cocos2d:对多个精灵使用单个定时器/调度器



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

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

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

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

for (CCSprite* sprite in sprite)
{
    sprite.x = someVariable;
}

最新更新