我想知道是否可以对多个精灵使用单个计时器或调度器方法?就像我现在正在开发一个游戏,可能有任意数量的精灵,我想在所有这些精灵上执行一些动作,所以我必须使用和精灵一样多的计时器或调度程序吗?或者,如何仅使用单个计时器或调度器来完成作业?如果我调度一个方法并将其用于10个精灵,会怎么样呢?它会影响性能吗?
发布于 2012-08-05 03:20:09
这在大多数游戏中都很常见。通常,你会使用一个相似的对象列表来进行不同的操作。粒子系统的工作原理是这样的,它们使用单个对象更新所有精灵的位置。在我的游戏中,我有很多对象,每个对象都有自己的更新功能,即使它们是同一类型的。
for (GameObject* object in objects)
[object update:dt];我猜这更多的是一个性能问题,一旦你遇到问题,或者如果你知道你将进行繁重的处理,那么应该对其进行优化。像这样的东西可能在update函数上,会涉及更少的函数调用,可能会更有效,但我不认为它真的值得这样做,因为id首先尝试优化的东西可能会在绘图端而不是逻辑端(就像spritebatch或粒子系统那样)。
for (CCSprite* sprite in sprite)
{
sprite.x = someVariable;
}https://stackoverflow.com/questions/11808143
复制相似问题