我想在Cocos2d CCParticleExplosion完成时运行回调/选择器。我该怎么做呢?当Cocos2d CCParticleSystem完成时回调?
我试着用与发射器相同的持续时间的scheduleOnce,但是由于我猜测发射器的持续时间控制它将发射新的粒子多长时间,但是完成动画持续了多长时间,所以完成得太快。
我想在Cocos2d CCParticleExplosion完成时运行回调/选择器。我该怎么做呢?当Cocos2d CCParticleSystem完成时回调?
我试着用与发射器相同的持续时间的scheduleOnce,但是由于我猜测发射器的持续时间控制它将发射新的粒子多长时间,但是完成动画持续了多长时间,所以完成得太快。
尝试使用CCCAllFunc
操作对动作(使用CCSequence)进行排序。一个动作运行后,另一个动作运行,CCCAllFunc可以分配给您选择的选择器/方法。
不知道这是否可以接受,但我测试过,并且“它适用于我的Mac”。
在CCParticleSystem.h在CCParticleSystem.m
@synthesize onComplete;
在同一个文件更新方法
// experimental
typedef void (^onCompletedBlock)();
@property (readwrite, copy) onCompletedBlock onComplete;
,
_particleCount--;
if(_particleCount == 0 && self.onComplete)
{
[self onComplete]();
[[self onComplete] release];
}
if(_particleCount == 0 && _autoRemoveOnFinish) {
[self unscheduleUpdate];
[_parent removeChild:self cleanup:YES];
return;
}
在你的代码
particleSystem.autoRemoveOnFinish = YES;
particleSystem.position = ccp(screenSize.width/2, screenSize.height/4);
particleSystem.onComplete =^
{
NSLog(@"completed ..");
};
再次,相当实验..
不知道我明白了吗?我可以像CCFadeIn一样使用粒子发射器吗?我怎么做? – 2012-04-21 18:37:15