Запустите SKAction, который запускает оператор void SpriteKit.

Я пытаюсь запустить узел частиц или просто узел, когда вызывается действие, но я не уверен, какое действие использовать и правильно ли я его делаю.

Я безуспешно искал документы Apple.

Это то, что я пытался:

    -(void)setupbabyFireNode{
    NSString *babyFirePath = [[NSBundle mainBundle]pathForResource:@"BabyOnFireParticle" ofType:@"sks"];

    babyFireNode = [NSKeyedUnarchiver unarchiveObjectWithFile:babyFirePath];

    babyFireNode.position = CGPointMake(-30, 40);
    babyFireNode.zPosition = 1;

    [babyNode addChild:babyFireNode];
    }

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    [babyNode removeActionForKey:@"left"];

     babyNode.position = CGPointMake(700, 280);

     moveLeft = [SKAction moveTo:CGPointMake(100, 280)duration:5.0];


    SKAction *completion = [SKAction runBlock:^{

    SKScene *endScene = [[EndScene alloc]initWithSize:self.size];
    SKTransition *doors = [SKTransition crossFadeWithDuration:5];
    [self.view presentScene:endScene transition:doors];

    }];
    SKAction *fire = [self setupbabyFireNode];

    SKAction *sequence = [SKAction sequence:@[ moveLeft ,fire, completion ]];


    SKAction *sequence = [SKAction sequence:@[ moveLeft ,completion ]];

    [babyNode runAction:sequence withKey:@"left"];

    }

person Jeff    schedule 14.07.2014    source источник
comment
Ваш вопрос не ясен. Пожалуйста, уточните, что вы пытаетесь сделать, а также то, что вы пробовали.   -  person ZeMoon    schedule 14.07.2014
comment
Я хотел бы добавить узел на сцену в последовательности действий. (узел появляется после того, как он перемещается влево) Я создал узел, и все работает нормально. Я могу добавить узел в сцену, используя [self setupNode]; . Я пробовал ( SKAction *action = [self setUpFireNode]; ) LOL и назвал его в последовательности с помощью SKAction *sequence = [SKAction sequence:@[ moveLeft ,[self setUpFireNode... и т.д..], завершение ]]; [Узел runAction:последовательность];   -  person Jeff    schedule 14.07.2014


Ответы (1)


Я думаю, это то, что вы пытаетесь сделать;

SKAction *sequence = [SKAction sequence:@[moveLeft ,[SKAction performSelector:@selector(spawnPipes) onTarget:self]]];

[Node runAction:sequence];
person Ahmet Hayrullahoglu    schedule 14.07.2014
comment
Вы собираетесь изменить селектор, который принимает имя функции в качестве параметра, поэтому вам нужно что-то вроде; [self runAction:[SKAction PerformSelector:@selector(setUpBabyFireNode) onTarget:self]]; - person Ahmet Hayrullahoglu; 14.07.2014
comment
Спасибо!! Я отредактирую свой код в ближайшее время. Извините за удаление старого комментария. Понял, что это правильный ответ. - person Jeff; 14.07.2014