Как изменить гравитацию в SKAction?

Я делаю игру в Sprite Kit, и мне интересно, можно ли сделать SKAction, который на некоторое время изменяет гравитацию, не так ли? Это код, который у меня уже есть:

        SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"bal.png"];
        sprite.position = CGPointMake(self.frame.size.width/4 + arc4random() % ((int)self.frame.size.width/2), (self.frame.size.height/2 + arc4random() % ((int)self.frame.size.height/2)));
        sprite.color = [self randomColor];
        sprite.colorBlendFactor = 1.0;
        sprite.xScale = 0.2;
        sprite.yScale = 0.2;
        [self addChild:sprite];
        sprite.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2];
        self.physicsWorld.gravity = CGVectorMake(0.0f, -4.0f);

Заранее спасибо!


person Vince    schedule 18.10.2013    source источник


Ответы (1)


вы запускаете настраиваемые блоки действий и включаете и выключайте их, дайте мне знать, если это сработает для вас.

[self runAction:[SKAction sequence:@[[SKAction runBlock:^{ self.physicsWorld.gravity = CGVectorMake(0.0f, -4.0f);}],[SKAction waitForDuration:4],[SKAction runBlock:^{ self.physicsWorld.gravity = CGVectorMake(0.0f, 0.0f);}]]]];
person user2421700    schedule 22.10.2013