2016-12-24 3 views
0

ich gesucht habe, und ich kann nur Dinge finden darüber durch swipping/Ziehen machen bewegen. Ich bin ein Anfänger ein Spiel auf Xcode mit Sprite-Kit machen, und ich tue ganz gut so weit, besser als ehrlich zu sein erwartet.Sie einen rechten und linken Tasten ein Sprite auf der x-Achse bewegen

Aber ich kann nicht scheinen, um herauszufinden, wie eine Sprite-Bewegung nach links und rechts zu machen, wenn links und rechts Tasten zu treffen. Ich machte den linken und rechten SKSpriteNodeSKSpriteNode (Ich glaube nicht, das stimmt), und sie zeigen, wo ich offensichtlich will, aber ich weiß nicht, wie es ihnen zu ermöglichen, berührt werden und das Sprite bewegen.

Sorry, wenn dies eine wirklich Amateur Frage ist, wird die Antwort wohl offensichtlich sein, aber ich bin in einem Stau.

+0

Die allgemeine Idee Sprites bewegten Griff ist auf ihrer Position Eigentum zu beeinträchtigen oder deren Geschwindigkeit Vectory (sprite.physicsBody.velocity). Sie ändern direkt die Positionseigenschaft, indem Sie sie auf einen neuen Wert setzen oder indirekt SKActions wie Mina zeigen. Wenn es um Physik geht, ändern Sie den Geschwindigkeitsvektor direkt, indem Sie ihn auf einen neuen Wert setzen, und indirekt, indem Sie Impulse oder Kräfte auf einen Physikkörper anwenden. Das sind die Grundlagen, die man beachten sollte. – Whirlwind

Antwort

2

Es gibt eine Menge von Tutorials über das Verschieben von Sprites, beginnt mit diesen raywenderlich Tutorial. Sie haben Namen für das Sprites setzen und die Bewegung in touchesBegan Funktion (verwenden Sie diese thread)

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    for touch in (touches) { 
     let positionInScene = touch.location(in: self) 
     let touchedNode = self.atPoint(positionInScene) 
     if let name = touchedNode.name { 
      if name == "leftButton" { 
       //move to left 
      } 
      if name == "rightButton" { 
       //move to right 
       let moveAction: SKAction = SKAction.moveBy(x: 15, y: 0, duration: 1) 
       yourNode.run(moveAction) 
      } 
     } 
    } 
} 
+0

es funktioniert, bis ich eine der "Tasten" drücke, dann stürzt es sofort ab. Ich bin nicht sicher, wo das Problem für so eine einfache Sache ist – TroyDeJ

+1

Hinzufügen Ausnahme Break Point für bessere Informationen über den Absturz und erzählen Sie uns davon – Mina

+0

ok ich habe es nicht zum Absturz, aber der Spieler immer noch nicht bewegen, ich habe nicht eine Position für die Spieler tho, es ist in der Mitte Ankerpunkt, nicht sicher, ob das irgendein Grund ist. – TroyDeJ

Verwandte Themen