2015-06-10 2 views
1

Я пытаюсь оживить SKShapeNode, когда он заходит и перемещается горизонтально взад и вперед. Как я могу сделать это с помощью SKShapeNode? Я не смог найти информацию об этом.Как я могу оживить SKShapeNode в swift?

+0

Вы можете быть заинтересованы в http://stackoverflow.com/questions/21940495/sine-wave-motion- in-spritekit/30185527 # 30185527 или http://stackoverflow.com/questions/30177117/how-do-i-move-a-skspritenode-up-and-down-around-its-starting-value-in-swift/ 30178191 # 30178191 – ABakerSmith

ответ

1

Вы можете использовать SKAction moveBy. Вы можете создать действие для перемещения вправо и влево, шаг нужно просто отменить первое действие:

override func didMoveToView(view: SKView) { 
    /* Setup your scene here */ 

    let sprite = SKSpriteNode(imageNamed:"Spaceship") 
    sprite.xScale = 0.5 
    sprite.yScale = 0.5 
    sprite.position = CGPointMake(view.scene!.frame.midX - view.bounds.midX - sprite.frame.width, view.scene!.frame.midY) 

    let moveRightAction = SKAction.moveBy(CGVector(dx: view.bounds.midX + (3 * sprite.frame.width), dy: 0), duration: 2.0) 
    let moveLefttAction = moveRightAction.reversedAction() 
    let backAndForthSequence = SKAction.sequence([moveRightAction,moveLefttAction]) 

    sprite.runAction(SKAction.repeatActionForever(backAndForthSequence)) 

    self.addChild(sprite) 
} 
+2

FYI, ваш пример для SKSpriteNode, а не SKShapeNode – Kat

Смежные вопросы