使用CCSpriteBatchNode为多个对象设置动画

时间:2011-10-25 20:47:07

标签: animation cocos2d-iphone

我想使用CCSpriteBatchNode为我游戏中的“敌人”制作动画。 我在Ray Wenderlich [很棒的家伙]的教程中读过,可以在这里找到:http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d 为了使用CCSpriteBatchNode并使用它,我应该添加动画中使用的sprite作为sprite批处理节点的子节点。

我打算做的是拥有一个CCNode,并将用于动画的精灵添加为该节点的子节点。我想这样做,因为除了动画之外,我还有健康酒吧之类的东西,它们遵循场景周围的动画。如果我在同一个CCNode下拥有所有内容,我可以轻松操作它。

根据我的理解,我将不得不添加用于动画的精灵作为精灵批处理节点的子节点,在我的敌人对象中保持对它的引用,并改变它的位置和其他参数以及改变将包含的节点的位置健康酒吧等。

这是对的吗? 有没有更简单的方法呢?

1 个答案:

答案 0 :(得分:1)

您只能将CCSprite对象添加到CCSpriteBatchNode。并且您不能将节点两次添加到节点层次结构中。所以你是正确的,你需要引用你的精灵批处理精灵。基本上你将实现View-Controller模式,sprite是“view”,控制器是更新(控制)sprite属性(如position)的对象。

但是请注意不要保留精灵,因为这很容易导致retain cycle