【问题标题】:How can I update the position of all sprites in a CCSpriteBatchNode?如何更新 CCSpriteBatchNode 中所有精灵的位置?
【发布时间】:2012-11-24 22:16:30
【问题描述】:

我有一个包含 30 个精灵的 CCSpriteBatchNode。我想将所有的精灵移动一些 deltaX。我该怎么做?

这是我迄今为止尝试过的:

for (CCSprite *sprite in myBatchNode.children) 
    sprite.position = ccpAdd(sprite.Position, ccp(deltaX, 0.0));

虽然这可行,但我想知道是否有更有效的方法可能不涉及显式访问批处理节点中的每个节点。请注意,我不想移动批处理节点本身。

【问题讨论】:

  • 这段代码没问题。它也不是低效的。它完成了这项工作,而且它不会做任何对你的帧率有明显影响的疯狂的事情。尤其是没有 30 个精灵。 c2.com/cgi/wiki?PrematureOptimization

标签: cocos2d-iphone ccsprite ccspritebatchnode


【解决方案1】:

不会

myBatchNode.position.x += deltaX;

为你做同样的事情吗?

【讨论】:

  • 是的,可以。但是我不希望移动批处理节点本身。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多