Я новичок в Spritekit. Просто начинаю делать свою третью-четвертую игру. Поэтому я хотел бы знать, как правильно использовать SKEmitterNode программно.Правильный способ использования SKEmitterNode Programatically
В частности, какая правильная практика, если я хочу иметь несколько частиц в своей игре - огонь реактивного двигателя, а также несколько взрывов, когда пуля попадает в вражеское судно.
Должен ли я продолжать создавать новый объект 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
ИЛИ
// 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
?
Как сказал хамоби, это зависит от ситуации. Если у вас есть разные типы эффектов, удобно настроить разные эмиттеры, чтобы их программно настроить ... – Whirlwind