And*_*rew 3 c iphone objective-c cocos2d-iphone
我是cocos2d和iphone开发的新手.我想创建一些动画,当一些带有它的精灵的物理对象被破坏时(例如显示一个闪光).我想做一些我会说的对象:运行动画并在完成后摧毁自己.然后我想忘记这个对象 - 它应该在动画结束时自动销毁.最好的方法是什么?
您可以使用CCSequence创建操作列表.您要做的第一个动作应该是您的常规动作(或序列).第二个动作应该是CCCallFuncND动作,你可以调用一个清理函数并传递给定的精灵.
在我的头顶,我会做这样的事情:
CCSprite* mySpriteToCleanup = [CCSprite spriteWithFile:@"mySprite.png"];
[self addChild:mySpriteToCleanup];
// ... do stuff
// start the destroy process
id action1 = [CCIntervalAction actionWithDuration:0]; // the action it sounds like you have written above.
id cleanupAction = [CCCallFuncND actionWithTarget:self selector:@selector(cleanupSprite:) data:mySpriteToCleanup];
id seq = [CCSequence actions:action1, cleanupAction, nil];
[mySpriteToCleanup runAction:seq];
Run Code Online (Sandbox Code Playgroud)
并在清理功能:
- (void) cleanupSprite:(CCSprite*)inSprite
{
// call your destroy particles here
// remove the sprite
[self removeChild:inSprite cleanup:YES];
}
Run Code Online (Sandbox Code Playgroud)
您可以在这两个操作之间添加另一个操作以及您的destroy粒子操作,而不是在end函数中调用它.