2017-02-11 2 views
0

Ich versuche, ein Sprite nach links zu bewegen, wenn Berührungen und dann nach rechts bewegt werden, wenn der Benutzer das nächste Mal berührt.Sprite Richtung ändern, wenn angezapft?

ich einige Code gesehen haben, die perfekt aber ich würde denken, arbeiten, ich bin nicht sicher, wie „isMovingleft“

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    ship.removeAllActions() 

    if isMovingleft == true { 
     let left = SKAction.moveBy(x: 500, y: 0, duration: 5) 
     ship.run(left) 
    } 
    else { 
     let right = SKAction.moveBy(x: -500, y: -900, duration: 5) 
     ship.run(right) 
    } 
    isMovingleft = !isMovingleft 


} 

Antwort

1
enum Direction: Int { 
    case left = 0 
    case right 
} 

var direction: Direction? 

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 

    ship.removeAllActions() 

    switch direction ?? .left { 
    case .left: 
     ship.run(SKAction.moveBy(x: 500, y: 0, duration: 5)) 
     direction = .right 
    case .right: 
     ship.run(SKAction.moveBy(x: -500, y: -900, duration: 5)) 
     direction = .left 
    } 
} 
definieren
Verwandte Themen