我是Spritekit的新手。剛開始製作我的第3-4款遊戲。所以我想知道什麼是以編程方式使用SKEmitterNode的正確方法。正確使用SKEmitterNode的方法以編程方式
特別是如果我想在我的遊戲中有多個粒子 - 噴氣發動機起火,並且在子彈擊中敵船時發生多次爆炸,那麼正確的做法是什麼。
我是否繼續創建新的SKEmitterNode並將其添加到場景中,還是添加單個全局EmitterNode並在更新函數中更改其屬性?
// FIRE ENGINE
SKEmitterNode *_myEmitter = [[SKEmitterNode alloc] init];
// codes..
[self addChild:_myEmitter]; // add to scene
// EXPLOSION
SKEmitterNode *_myEmitter = [[SKEmitterNode alloc] init];
// codes..
[self addChild:_myEmitter]; // add to scene
OR
// IN INIT METHOD
_myEmitter = [[SKEmitterNode alloc] init]; // global variable
// codes..
[self addChild:_myEmitter]; // add once
// IN UPDATE
//when explode
_myEmitter.particleTexture = [SKTexture textureWithImageNamed:@"explode.png"];
... modify code
//when engine fire
_myEmitter.particleTexture = [SKTexture textureWithImageNamed:@"fire.png"];
... modify code
?
像hamobi說的,這取決於情況。如果您有不同類型的效果,可以方便地定義不同的發射器,而不是以編程方式配置它們... – Whirlwind