我是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