En este Consejo rápido aprenderás una técnica de movimiento condicional del enemigo, basada en un enemigo clásico de un juego increíble. Enfréntate al fantasma y se congela; aparta la mirada y el viene por ti.
Echemos un vistazo al resultado final en el que trabajaremos:
Usa las flechas izquierda y derecha para moverte. El movimiento de caminar se ha simplificado por este Consejo rápido..
Un jugador y un enemigo serán colocados en la pantalla, el jugador será controlado con las teclas de flecha izquierda y derecha y el enemigo reaccionará a la posición y orientación del jugador..
Inicie Flash y cree un nuevo documento de Flash, establezca el tamaño del escenario en 320x200px y la velocidad de fotogramas en 24 fps.
Esta es la interfaz que usaremos, formas y colores simples para recrear este comportamiento..
Convierte los personajes en clips de película y nómbralos. fantasma y jugador.
Cree una nueva clase de ActionScript (Cmd + N), guarde el archivo como Main.as y escriba las siguientes líneas, lea los comentarios en el código para entender completamente el comportamiento de la clase.
paquete import flash.display.Sprite; import flash.events.KeyboardEvent; import flash.events.Event; La clase final pública Main extiende Sprite public final function Main (): void addListeners (); función final privada addListeners (): void stage.addEventListener (KeyboardEvent.KEY_DOWN, movePlayer); stage.addEventListener (Event.ENTER_FRAME, siga); función final privada movePlayer (e: KeyboardEvent): void if (e.keyCode == 37) // mover a la izquierda si se presiona la tecla de flecha izquierda player.x - = 4; player.rotationY = 180; // rotar para coincidir con la dirección else if (e.keyCode == 39) // moverse a la derecha si se presiona la tecla de flecha derecha player.x + = 4; player.rotationY = 0; // rotar a la dirección coincidente seguir la función final privada (e: Evento): void / * lado derecho * / 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) // si el jugador mira al fantasma ghost.alpha = 0.5; / * Lado izquierdo * / 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;
Agregue el nombre de la clase a la Clase campo en el Publicar sección de la Propiedades Panel para asociar la FLA con la clase de documento principal..
Has aprendido una técnica simple y útil de movimiento enemigo, pruébala en tus propios juegos.!
Espero que te haya gustado este tutorial, gracias por leer.!