În acest sfat rapid veți învăța o tehnică de mișcare condiționată a inamicului, bazată pe un inamic clasic dintr-un joc extraordinar. Fă-o pe fantoma și îngheață; te uiți și vine pentru tine.
Să aruncăm o privire la rezultatul final la care vom lucra:
Utilizați tastele săgeată stânga și dreapta pentru a vă deplasa. Mersul pe jos a fost simplificat de dragul acestui sfat rapid.
Un jucător și un inamic vor fi plasate pe ecran, jucătorul va fi controlat folosind tastele săgeată stânga și dreapta și inamicul va reacționa la poziția și orientarea jucătorului.
Lansați Flash și creați un nou document Flash, setați dimensiunea scenei la 320x200px și rata de cadre la 24fps.
Aceasta este interfața pe care o vom folosi, forme simple și culori pentru a recrea acest comportament.
Transformați caracterele în Clipuri video și denumiți-le fantomă și jucător.
Creați o nouă clasă ActionScript (Cmd + N), salvați fișierul ca Main.as și scrieți următoarele linii, citiți comentariile din cod pentru a înțelege pe deplin comportamentul clasei.
pachet import flash.display.Sprite; import flash.events.KeyboardEvent; importul flash.events.Event; public final clasa Extensia Sprite funcția publică finală Main (): void addListeners (); funcția finală privată addListeners (): void stage.addEventListener (KeyboardEvent.KEY_DOWN, movePlayer); stage.addEventListener (Event.ENTER_FRAME, urmați); funcția finală privată movePlayer (e: KeyboardEvent): void if (e.keyCode == 37) // mutați stânga dacă tasta săgeată stânga este apăsată player.x - = 4; player.rotationY = 180; // rotiți pentru a se potrivi direcția altceva dacă (e.keyCode == 39) // mutați dreapta dacă tasta săgeată dreapta este apăsată player.x + = 4; player.rotationY = 0; // rotire pentru a se potrivi direcției funcția finală privată (e: Event): void / * Dreapta * / if (player.rotationY == 0 && player.x> ghost.x) ghost.x + = 0.4 ; ghost.y + = 0,4; ghost.alpha = 1; ghost.rotationY = 0; altfel dacă (player.rotationY == 180 && player.x> ghost.x) // dacă jucătorul se uită la ghost ghost.alpha = 0.5; / * Stânga * / dacă (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;
Adăugați numele clasei la Clasă domeniu în Publica secțiunea din Proprietăți pentru a asocia FLA cu clasa de documente principale.
Ați învățat o tehnică simplă și utilă de mișcare inamic, încercați-o în propriile dvs. jocuri!
Sper că ți-a plăcut acest tutorial, mulțumesc pentru lectură!