Victory/Capitulation

Bei dieser Enemy-FollowPath-Sache muss ich jetzt einfach Schluss machen. Wie man am Screenshot sieht, habe ich für das Sprite kurzerhand das umgefärbte Zeppelin (pink) hergenommen. (Übrigens eine weitere angenehme Sache am SGDK2: der RGB-Wert von Sprites sowie Tiles kann in Echtzeit per Script oder Voreinstellung manipuliert werden)

Die braunen Bälle repräsentieren übrigens die Pfadpunkte. Außer der unter dem grauen Zeppelin, das ist der Postsack.

Enemy - Sprite DefinitionEnemy FollowPath - Screenshot

Mein Sieg besteht darin, eine ganz nette Lösung für das Links/Rechts-Problem gefunden zu haben. Wie im einen Screenshot zu sehen, hängt der gewählte Zustand davon ab, ob die horizontale Geschwindigkeit (dx) des Sprites positiv oder negativ ist.

Ein anderer Ansatz dafür war, die Koordinaten der Pfadpunkte miteinander zu vergleichen, ob das X nun größer oder kleiner als beim vorherigen ist. Das scheiterte daran, dass Koordinate 0 (der Startpunkt) minus 1 (letzter angeflogener Punkt) nunmal -1 ergibt, und nicht einen anständigen Wert, wie z.B. 453. Eine Koordinate -1 gibt es nicht, und einen Parameter wie z.B. ›PathLastCoordinate‹ gibt es leider noch nicht im SGDK2.

Vor dem anderen Problem kapituliere ich einstweilen, weil es für das Spiel total irrelevant ist. Ich habe mich bisher nur so ausführlich damit beschäftigt weil es Spaß gemacht hat. Das Problem war, dass ich bei diesem Sprite ebenfalls wollte dass sich das Zeppelin langsam dreht − in mehreren Frames. Bisher hatte ich immer gar keine oder eine ständige Drehung. Aber da dieses Sprite sowieso dazu gedacht ist, Vögel und dergleichen darzustellen, kann ich mir das echt sparen. Wie man schon an meinem frustierten Kommentar erkennen kann − Vögel brauchen keine Dreh-Animationen. Die flattern bloß.

Anbei zwei Beispiele für meine Versuche mich dem Problem zu nähern und das Skripten zu strukturieren:

Mistraal Skripten 9Mistraal Skripten 10

Advertisements

%d Bloggern gefällt das: