动画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]];
任何想法,为什么会发生这种情况?
谢谢!
乍一看这部分代码看起来是正确的,因此您可能需要展示更多的整体程序,以便我们可以检查init函数和您调用的其他方法之间会发生什么。
有两件事情出了蓝色:
- 请确保调用保留在你的精灵,这样它不会草率地删除,直到你用它做
- 什么是“自我”正是这里,它是一个椰子层吗?图层是否正确添加到场景中(即,即使它不移动,您是否看到正在显示的精灵)?
- 我还会看看场景图中是否有可能在“init”调用和您的第二种方法之间发生任何事情,其中您执行动画代码。有没有StopAllActions? removeFromParent或removeAllChildren,也许?
干杯
1st Bullet:好的,当我使用保留时,我应该如何正确释放它? 第二子弹:这是一个CCLayer。精灵正在显示,但没有被动画。 3rd Bullet:在dealloc方法中只有一个removeAllChildren。在任何地方都没有停电事故。 –
我修正了它,结果是Box2D代码干扰了CCSprite。无论如何都是Upvoted和Accepted!欢迎来到StackOverflow! :) –
谢谢 - 很高兴你发现故障! –
他们questionmismabout '为什么该方法不叫'?因为代码看起来很不错 –
那么你认为什么是错的? –