I denna Snabbtips lär du dig en teknik av villkorlig fiende rörelse, baserad på en klassisk fiende från ett fantastiskt spel. Ansikte spöken och han fryser; titta bort och han kommer för dig.
Låt oss ta en titt på det slutliga resultatet vi ska arbeta för:
Använd vänster och höger piltangenter för att flytta. Vandringsrörelse har förenklats för denna snabba tipss skull.
En spelare och en fiende kommer att placeras på skärmen, spelaren kommer att styras med hjälp av vänster och höger piltangent och fienden kommer att reagera på spelarens position och orientering.
Starta Flash och skapa ett nytt Flash-dokument, sätt scenstorleken till 320x200px och bildhastigheten till 24fps.
Detta är gränssnittet vi ska använda, enkla former och färger för att återskapa detta beteende.
Konvertera tecknen till filmklipp och namnge dem spöke och spelare.
Skapa en ny ActionScript-klass (Cmd + N), spara filen som Main.as och skriv följande rader, vänligen läs kommentarerna i koden för att fullt ut understå klassbeteendet.
paket import flash.display.Sprite; importera flash.events.KeyboardEvent; importera flash.events.Event; offentliga slutklassen Huvudet sträcker sig Sprite public final function Main (): void addListeners (); privat slutfunktion addListeners (): void stage.addEventListener (KeyboardEvent.KEY_DOWN, movePlayer); stage.addEventListener (Event.ENTER_FRAME, följ); privat slutfunktion movePlayer (e: KeyboardEvent): void if (e.keyCode == 37) // flytta vänster om vänsterpilknappen trycks in player.x - = 4; player.rotationY = 180; // rotera för att matcha riktningen annars om (e.keyCode == 39) // flytta höger om högerpilknappen trycks in player.x + = 4; player.rotationY = 0; // rotera för att matcha riktning Privat slutlig funktion följ (e: Event): void / * Höger sida * / if (player.rotationY == 0 && player.x> ghost.x) ghost.x + = 0.4 ; ghost.y + = 0.4; ghost.alpha = 1; ghost.rotationY = 0; annars om (player.rotationY == 180 && player.x> ghost.x) // om spelaren tittar på spöket ghost.alpha = 0.5; / * Vänster sida * / om (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;
Lägg till klassnamnet till Klass fält i Publicera del av Egenskaper panel för att associera FLA med huvuddokumentklassen.
Du har lärt dig en enkel och användbar teknik för fiendens rörelse, prova det i dina egna spel!
Jag hoppas att du gillade den här handledningen, tack för att du läste!