In diesem Schnelltipp lernen Sie eine Technik der bedingten Feindbewegung, die auf einem klassischen Feind aus einem beeindruckenden Spiel basiert. Stelle dich dem Geist und er erstarrt; schau weg und er kommt für dich.
Werfen wir einen Blick auf das Endergebnis, auf das wir hinarbeiten:
Verwenden Sie die linke und rechte Pfeiltaste, um sich zu bewegen. Die Laufbewegung wurde für diesen Quick Tip vereinfacht.
Ein Spieler und ein Feind werden auf dem Bildschirm angezeigt, der Spieler wird mit der linken und rechten Pfeiltaste gesteuert, und der Feind reagiert auf die Position und Ausrichtung des Spielers.
Starten Sie Flash und erstellen Sie ein neues Flash-Dokument. Stellen Sie die Bühnengröße auf 320x200px und die Bildrate auf 24fps ein.
Dies ist die Schnittstelle, die wir verwenden werden, einfache Formen und Farben, um dieses Verhalten wiederherzustellen.
Wandeln Sie die Zeichen in Movie Clips um und benennen Sie sie Geist und Spieler.
Erstellen Sie eine neue ActionScript-Klasse (Cmd + N) und speichern Sie die Datei als Main.as und schreiben Sie die folgenden Zeilen. Lesen Sie die Kommentare im Code, um das Klassenverhalten vollständig zu verstehen.
package import flash.display.Sprite; import flash.events.KeyboardEvent; import flash.events.Event; öffentliche Abschlussklasse Main erweitert Sprite öffentliche Abschlussfunktion Main (): void addListeners (); private letzte Funktion addListeners (): void stage.addEventListener (KeyboardEvent.KEY_DOWN, movePlayer); stage.addEventListener (Event.ENTER_FRAME, folgen); private letzte Funktion movePlayer (e: KeyboardEvent): void if (e.keyCode == 37) // Nach links bewegen, wenn die linke Pfeiltaste gedrückt wird player.x - = 4; player.rotationY = 180; // drehen, um die Richtung anzupassen else if (e.keyCode == 39) // nach rechts bewegen, wenn rechte Pfeiltaste gedrückt wird player.x + = 4; player.rotationY = 0; // drehen, um die Richtung anzupassen private letzte Funktion folgt (e: Event): void / * Rechte Seite * / if (player.rotationY == 0 && player.x> ghost.x) ghost.x + = 0.4 ; ghost.y + = 0,4; ghost & agr; = 1; ghost.rotationY = 0; else if (player.rotationY == 180 && player.x> ghost.x) // wenn der Spieler den Geist betrachtet ghost.alpha = 0.5; / * Linke Seite * / if (player.rotationY == 180 && player.x < ghost.x) ghost.x -= 0.4; ghost.y += 0.4; ghost.alpha = 1; ghost.rotationY = 180; else if(player.rotationY == 0 && player.x < ghost.x) //if the player looks at the ghost ghost.alpha = 0.5; /* Stop Y if ghost is near floor */ if(ghost.y >= 165) ghost.y = 165;
Fügen Sie der Klasse den Klassennamen hinzu Klasse Feld in der Veröffentlichen Abschnitt der Eigenschaften Panel, um die FLA der Hauptdokumentklasse zuzuordnen.
Sie haben eine einfache und nützliche Technik der Feindbewegung gelernt. Versuchen Sie es in Ihren eigenen Spielen!
Ich hoffe, Ihnen hat dieses Tutorial gefallen, vielen Dank für das Lesen!