2012-04-16 38 views
0

我對初始化函數代碼:與CCParticleSystemQuad滾動射手的星星?

NSArray *starsArray = [NSArray arrayWithObjects:@"Stars1.plist", @"Stars2.plist", @"Stars3.plist", nil]; 
    for(NSString *stars in starsArray) { 
     CCParticleSystemQuad *starsEffect = [CCParticleSystemQuad particleWithFile:stars]; 
     [self addChild:starsEffect z:-1]; 
    } 

的問題是,這些顆粒出現,幾秒鐘內完全充滿整個屏幕矩形。但是我需要從一開始就充滿星星的天空。

回答

1

根據cocos2d starting particles from a specific time in the future的回答,您可以手動更新粒子系統。示例在cocos2d-x中:

CCParticleSystemQuad *particle = CCParticleSystemQuad::create("res/Particles/Stars1.plist"); 
for (int i = 0; i < 10; ++i) { 
    particle->update(.1); 
} 

您可能需要更改間隔以適應粒子。

1

將它們添加到圖層中,隱藏圖層,然後在加載完成所有內容後取消隱藏圖層。這樣你可以設置一些東西,而不是馬上顯示。

這只是一種方法。另一個想法是在遊戲開始和遊戲邏輯過程開始之前將所有圖像加載到Cocos中。這樣,圖像加載時就沒有暫停和延遲。