Snabbtips Enkel AS3 teckenrörelse med KeyObject.as

I denna handledning introducerar jag en klass av Senocular.com som tillåter enkel rörelse av speltecken med minimal kod.


Slutresultatförhandsvisning

I SWF ser du ett rymdskepp; Använd vänster, höger, upp och nedåtpil för att flytta den.


Steg 1: Förklaring av KeyObject.as

När ActionScript 3.0 kom ut försvann vi funktionaliteten för AS2s Key.isDown () -metod. Senocular har kodat en bra liten klass som låter oss efterlikna denna funktionalitet inom ActionScript 3 och det är vad vi ska se på i handledningen.


Steg 2: Ställa in projektet

Gå till Arkiv> Nytt och skapa ett nytt Actionscript 3.0-dokument med följande egenskaper:

  • Storlek: 550 * 400
  • Bakgrundsfärg: Vit
  • FPS: 24

Spara den här filen som "KeyObject.fla"


Steg 3: Nedladdning av KeyObject.as

Innan vi kan koda vår ansökan måste vi hämta filen "KeyObject.as", så gå vidare till Senocular.com. Klicka på Actionscript under Flash-menyn. En gång där vill du borra ner till "KeyObject.as" och ladda ner den. Kom dit genom att gå till Actionscript 3.0> com> senocular> utils.

Du kan högerklicka på hämtningslänken och spara den som "KeyObject.as".

När du har gjort det måste du ta bort com.senocular.utils direkt efter paketdeklarationen i filen, eftersom vi inte använder com.senocular klassvägen.

Ändra detta:

 paket com.senocular.utils import flash.display.Stage; importera flash.events.KeyboardEvent; // Resten av klassen

Till detta:

 paket import flash.display.Stage; importera flash.events.KeyboardEvent; // Resten av klassen

Steg 4: Importera spelarens grafik

I hämtningsfilerna finns en rymdskeppsbild som heter player.png. I Flash, importera detta till scenen, genom att gå till Arkiv> Importera> Importera till steg. Högerklicka på den och välj "Convert to Symbol", ge det symbolnamnet "spelare" och se till att registreringspunkten är inställd till vänster. Nu ge det också namnet på "spelare".


Steg 5: Ställa in huvudklassen

Gå till Arkiv> Ny och välj ActionScript-fil.

Spara detta som Main.as och ange det som din dokumentklass inom "KeyObject.fla".

Följ sedan följande kod till "Main.as":

 paket import flash.display.Sprite import flash.events.Event; importera KeyObject; public class Main utökar Sprite private var-nyckel: KeyObject; allmän funktion Main () addEventListener (Event.ADDED_TO_STAGE, setupKeyObject);  funktion setupKeyObject (e: Event) key = new KeyObject (scen); stage.addEventListener (Event.ENTER_FRAME, movePlayer);  funktion movePlayer (e: Event) if (key.isDown (key.LEFT)) player.x - = 5;  om (key.isDown (key.RIGHT)) player.x + = 5;  om (key.isDown (key.DOWN)) player.y + = 5;  om (key.isDown (key.UP)) player.y - = 5;  om (player.y<0) player.y =0;  if(player .y > (stage.stageHeight - player.height)) player.y = stage.stageHeight - player.height;  om (player.x<0) player.x = 0;  if(player.x > (stage.stageWidth - player.width)) player.x = stage.stageWidth - player.width; 

Här ställer vi upp vårt paket och importerar de klasser vi ska använda. Nästa ställa vi upp nyckel- variabel som typ KeyObject, och inom vårt Huvudsaklig konstruktör vi lägger till en ADDED_TO_STAGE Event Listener. Detta kallas när filmen är fulladdat och scenen är klar.

Inuti setupKeyObject funktion, ställer vi in nyckel- variabel för att vara en ny instans av KeyObject klass och lägg till en ENTER_FRAME Event Listener till scenen.

Inom movePlayer funktion vi kontrollerar vilken nyckel som pressas genom att använda key.isDown () och flytta vår spelare i enlighet därmed.

Slutligen kontrollerar vi om objektet har flyttat utanför scenens gränser, och om det har vi lagt tillbaka det precis innanför scenen.


Slutsats

Att använda Senocular's KeyObject-klass gör det enkelt att flytta dina speltecken! Jag hoppas att denna handledning har hjälpt; tack för att du läser.