动画CCSprite不工作



我在我的init方法中创建了这样一个精灵(mySprite在.h中声明):

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函数和被调用的其他方法之间发生了什么。

一些出乎意料的事情:

  • 确保在你的精灵上调用retain,这样它就不会被删除,直到你完成它
  • 这里的"self"到底是什么,是cocos层吗?图层是否正确地添加到场景中(例如,你是否看到精灵被显示,即使它没有移动)?
  • 我还想看看在"init"调用和执行动画代码的第二个方法之间,场景图形中是否会发生任何事情。有StopAllActions吗?removeFromParent或者removeAllChildren ?

欢呼

最新更新