2016-09-26 6 views
0

Ich versuche ein kleines SpriteKitGame zu erstellen. Ich habe versucht, die Funktion zu verwenden, um ein paar Tanksprite-Knoten zu einem bestimmten Punkt zu bewegen.SKActionmove funktioniert nicht zuverlässig

Anbei unten ist das Code-Snippet.

let tankSpawn = CGPoint(x: self.size.width , y: 70); 
     tank.position = tankSpawn; 
     tank.zPosition = 3.0; 

     let targetPoint = CGPoint(x: -tank.size.width/2, y: tank.position.y); 

     let actionMove = SKAction.move(to: targetPoint, duration: TimeInterval(tankMoveDuration)) 

Das ist mein Ergebnis. Sie laichen an der richtigen Stelle (70 Einheiten hoch), gehen aber wie gezeigt nach unten.

enter image description here

Ich möchte, dass sie in einer geraden Linie gehen. Ich setze die Zielpunkte y als Konstante. Ich habe keine Ahnung, warum sie eine Grundquelle suchen.

Ich habe ähnlichen Code für Flugzeuge, die oben spawnen (die perfekt funktionieren).

let plane = SKSpriteNode(imageNamed: "SpaceShip"); 

     let planeMoveDuration = 3.0 
     let planeSpawn = CGPoint(x: self.size.width , y: self.size.height/2); 
     plane.position = planeSpawn; 
     plane.zPosition = 3.0; 

     let actionMove = SKAction.move(to: CGPoint(x: -plane.size.width/2, y: plane.position.y), duration: TimeInterval(planeMoveDuration)) 

Ich habe keine Ahnung, was mein Fehler hier ist.

Ich habe versucht, die y-Koordinate des Ziels auf tank.position.y zu ändern, aber es funktioniert nicht.

+1

Setzen Sie einen Haltepunkt nach: Lassen Sie TargetPoint = ... Und sehen Sie, wie die X-und Y-Werte aussehen. Haben deine Sprites Physikkörper? Und achten Sie auf Tippfehler und ähnliches (vielleicht überschreiben Sie versehentlich einige Variablen) – Whirlwind

+0

Wie schnell gehen sie runter? Fallen sie unter der Schwerkraft? Eine Sprite-Kit-Szene mit Physikkörpern wird die Schwerkraft haben und die Dinge werden fallen, wenn Sie nicht spezifische Maßnahmen ergreifen, um das zu vermeiden? –

+0

@SteveIves, Es ist Schwerkraft. Ja. Ich habe eine Aussage tank.physicsbody hinzugefügt? .isAffectedByGravity = false. Jetzt funktioniert alles richtig. – Quicksillver

Antwort

3

Fallen sie unter der Schwerkraft? Eine Sprite-Kit-Szene mit Physik-Körpern wird Schwerkraft haben und die Dinge werden fallen, wenn Sie nicht spezifische Maßnahmen ergreifen, um dies zu vermeiden.

Es ist einfach zu machen - Sie entwickeln Ihr Spiel, Sie haben grundlegende Elemente auf dem Bildschirm und Bewegung usw. funktioniert alles gut, dann möchten Sie einige Kollisionserkennung hinzufügen, so fügen Sie physicsBodies und dann whoosh - Wo meine Sprites gehen?

+3

Diese schwere Schwerkraft, die den Mann immer im Stich lässt. – Knight0fDragon

Verwandte Themen