我想在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