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