In deze Quick Tip leer je een techniek van voorwaardelijke vijandelijke bewegingen, gebaseerd op een klassieke vijand van een geweldig spel. Geconfronteerd met de geest en hij bevriest; kijk weg en hij komt voor jou.
Laten we eens kijken naar het eindresultaat waar we naartoe zullen werken:
Gebruik de linker en rechter pijltjestoetsen om te bewegen. De loopbeweging is vereenvoudigd omwille van deze Quick Tip.
Een speler en een vijand worden op het scherm geplaatst, de speler wordt bestuurd met de linker en rechter pijltjestoetsen en de vijand reageert op de positie en oriëntatie van de speler.
Start Flash en maak een nieuw Flash-document, stel de stage-grootte in op 320x200 px en de framesnelheid op 24 fps.
Dit is de interface die we gaan gebruiken, eenvoudige vormen en kleuren om dit gedrag opnieuw te creëren.
Converteer de personages naar filmclips en geef ze een naam geest en speler.
Maak een nieuwe ActionScript-klasse (Cmd + N), sla het bestand op als Main.as en schrijf de volgende regels, lees de opmerkingen in de code om het gedrag van de klas volledig te begrijpen.
pakket import flash.display.Sprite; import flash.events.KeyboardEvent; import flash.events.Event; openbare laatste klas Hoofd breidt uit met Sprite public final function Main (): void addListeners (); private finale functie addListeners (): void stage.addEventListener (KeyboardEvent.KEY_DOWN, movePlayer); stage.addEventListener (Event.ENTER_FRAME, follow); private laatste functie movePlayer (e: KeyboardEvent): void if (e.keyCode == 37) // beweeg naar links als de linkerpijltoets wordt ingedrukt player.x - = 4; player.rotationY = 180; // draaien om overeen te komen met de richting else if (e.keyCode == 39) // ga naar rechts als de rechterpijltoets wordt ingedrukt player.x + = 4; player.rotationY = 0; // roteren om overeen te komen met richting private laatste functie follow (e: Event): void / * Right side * / if (player.rotationY == 0 && player.x> ghost.x) ghost.x + = 0.4 ; ghost.y + = 0.4; ghost.alpha = 1; ghost.rotationY = 0; else if (player.rotationY == 180 && player.x> ghost.x) // als de speler naar de geest kijkt ghost.alpha = 0.5; / * Linkerkant * / 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;
Voeg de klassenaam toe aan de Klasse veld in de Publiceren deel van de eigenschappen panel om de FLA te koppelen aan de hoofddocumentklasse.
Je hebt een eenvoudige en nuttige techniek van vijandelijke bewegingen geleerd, probeer het in je eigen spellen!
Ik hoop dat je deze tutorial leuk vond, bedankt voor het lezen!