2016-04-15 7 views
1

Ich versuche mein Bestes, um ein einfaches "Tower Defense" -Spiel alleine zu machen (sowohl um SpriteKit zu lernen als auch meine Füße nass zu machen in der Spieleentwicklung im Allgemeinen).Einen Sprite dazu bringen, einem anderen Sprite in SpriteKit zu folgen

Ich habe das meiste Spiel funktioniert, aber mein Problem ist, wenn es darum geht, den Turm "Schießen" auf die Feinde, die über den Bildschirm laufen.

Ich bin nicht ganz sicher, wie man die Turm "Kugeln" zum Feind bewegt. Der Gegner bewegt sich statisch, Punkt zu Punkt, bis er einen Endpunkt erreicht, an dem er stirbt.

Allerdings muss das Geschoss seinen "Pfad" dynamisch verschieben, sodass ich die moveTo (x:, y :) -Methode nicht verwenden kann, um es zu verschieben, oder es sieht albern aus (das Geschoss bewegt sich in einer geraden Linie) wo der Feind auf der Initialisierung der Kugel war).

Ich bin mir nicht sicher, ob das, was ich tun muss, Pfade (d. H. CGPath) implementiert, denn ehrlich gesagt, ich kann nicht ganz begreifen, was ein CGPath ist. Hier bin ich irgendwie fest, in welche Richtung ich gehen soll.

Gibt es eine einfache Funktion, die es einem Sprite erlaubt, sich zu bewegen oder einem anderen Sprite zu folgen? (In diesem Fall, wenn sie kollidieren, kann ich einfach das Geschoss löschen).

+1

Check this out - [Seeker & Target] (http://stackoverflow.com/a/36235426/3402095) – Whirlwind

+0

Nur um den gleichen Link zu posten ... –

Antwort

1

Berechnen Sie für jeden Aktualisierungszyklus einen Vektor von der Kugel zur Position des Gegners. Normalisieren Sie dies auf eine Länge von 1. Dann bewegen Sie die Kugel über eine SKAction an das Ende des Vektors. Sie müssen einige Berechnungen mit der Entfernung machen, um sich zu bewegen, und der Geschwindigkeit der Kugel, um herauszufinden, wie lange die SKAction dauern sollte. Sie können eine SKConstraint verwenden, um die Kugel automatisch auf den Feind zu richten. später

Diese Verbindungen werden mit dem Vektor Sachen helfen, aber Ill versuchen und einige Code schreiben:

https://www.raywenderlich.com/90520/trigonometry-games-sprite-kit-swift-tutorial-part-1

+0

Sie können dies auch mit einer Abstandsbeschränkung tun, die kontinuierlich abnimmt ... –

+1

Sie können auch eine Abstandsbeschränkung für das folgende Verhalten erstellen: http: // entwicklerspielplatz.net/how-to-implement ...and-swift-part-2/ – Stefan