产卵精灵不起作用

时间:2014-11-20 00:25:53

标签: ios sprite-kit skaction

好的,我对使用精灵套件编码相当新,所以我不太了解。我尝试在场景上方制作5块砖,然后每隔5秒向下滑入场景。我认为这段代码可行,但它对我的场景绝对没有任何意义。

我有另一种方法,已经将砖块加载到场景中并且可以正常工作,所以我认为这不会影响这一点但不太确定。

-(void) spawnMoreBricks:(CGSize)size {
    for (int i = 0; i < 5; i++) {
        SKSpriteNode *brick = [SKSpriteNode spriteNodeWithImageNamed:@"brick"];
        //resize bricks
        brick.size = CGSizeMake(60, 30);
        //position it
        brick.position = CGPointMake(self.size.width/2, self.size.height);

        SKAction *wait = [SKAction waitForDuration:5];
        SKAction *spawn = [SKAction scaleTo:1 duration:0];
        SKAction *move = [SKAction moveByX:0 y:-80 duration:3];
        SKAction *spawnSequence = [SKAction sequence:@[wait, spawn, move]];

        [self runAction:spawnSequence];



    }
}

1 个答案:

答案 0 :(得分:0)

    SKAction *wait = [SKAction waitForDuration:5];
    SKAction *spawn = [SKAction runBlock:^{[self addChild: brick];
              SKAction *move = [SKAction moveByX:0 y:-80 duration:3];
              [brick runAction: move];
               }];

    SKAction *spawnSequence = [SKAction sequence:@[wait, spawn]];

    [self runAction:spawnSequence];

以下是一组经过修改的操作。问题是你正在运行场景本身的所有动作。提供的代码在场景上运行一个等待5秒(充当延迟)的序列,然后运行生成动作。 runBlock允许我们将砖块添加到场景中,创建移动动作,并将该动作应用于砖块(而不是场景)