动画CCSprite不起作用?

问题描述:

我在我的init()方法创建这样一个精灵(mySprite上在.H声明):动画CCSprite不起作用?

mySprite = [CCSprite spriteWithFile:@"Image1.png"]; 
     [mySprite setPosition:ccp(100, 300)]; 
     [self addChild:mySprite z:1 tag:1]; 

然后在我的另一种方法,我尝试动画像这样,但它似乎没有不动画所有,我也知道这是在调用方法,因为我NSLogged它。无论如何,这里是我如何尝试动画mySprite:

CCSequence *moveSequence = [CCSequence actions:[CCMoveTo actionWithDuration:5 position:ccp(120, 400)],[CCMoveTo actionWithDuration:4 position:ccp(100, 300)], nil]; 
    [mySprite runAction:[CCRepeatForever actionWithAction:moveSequence]]; 

任何想法,为什么会发生这种情况?

谢谢!

+0

他们questionmismabout '为什么该方法不叫'?因为代码看起来很不错 –

+0

那么你认为什么是错的? –

乍一看这部分代码看起来是正确的,因此您可能需要展示更多的整体程序,以便我们可以检查init函数和您调用的其他方法之间会发生什么。

有两件事情出了蓝色:

  • 请确保调用保留在你的精灵,这样它不会草率地删除,直到你用它做
  • 什么是“自我”正是这里,它是一个椰子层吗?图层是否正确添加到场景中(即,即使它不移动,您是否看到正在显示的精灵)?
  • 我还会看看场景图中是否有可能在“init”调用和您的第二种方法之间发生任何事情,其中​​您执行动画代码。有没有StopAllActions? removeFromParent或removeAllChildren,也许?

干杯

+0

1st Bullet:好的,当我使用保留时,我应该如何正确释放它? 第二子弹:这是一个CCLayer。精灵正在显示,但没有被动画。 3rd Bullet:在dealloc方法中只有一个removeAllChildren。在任何地方都没有停电事故。 –

+0

我修正了它,结果是Box2D代码干扰了CCSprite。无论如何都是Upvoted和Accepted!欢迎来到StackOverflow! :) –

+0

谢谢 - 很高兴你发现故障! –