Consejo rápido Fácil movimiento de caracteres AS3 con KeyObject.as

En este tutorial, presentaré una clase de Senocular.com que permite el movimiento fácil de los personajes del juego con un código mínimo..


Vista previa del resultado final

En el SWF verás una nave espacial; use las teclas de flecha izquierda, derecha, arriba y abajo para moverlo.


Paso 1: Explicación de KeyObject.as

Cuando salió ActionScript 3.0, perdimos la funcionalidad del método Key.isDown () de AS2. Senocular ha codificado una gran clase pequeña que nos permitirá emular esta funcionalidad en actionscript 3 y eso es lo que veremos en el tutorial..


Paso 2: Configuración del proyecto

Vaya a Archivo> Nuevo y cree un nuevo documento Actionscript 3.0, con las siguientes propiedades:

  • Tamaño: 550 * 400
  • Color de fondo: blanco
  • FPS: 24

Guarde este archivo como "KeyObject.fla"


Paso 3: Descargando KeyObject.as

Antes de que podamos codificar nuestra aplicación, necesitamos obtener el archivo "KeyObject.as", así que diríjase a Senocular.com. Debajo del menú Flash, haga clic en Actionscript. Una vez allí, querrá ir a "KeyObject.as" y descargarlo. Llegar al ir a Actionscript 3.0> com> senocular> utils.

Puede hacer clic derecho en el enlace de descarga y guardarlo como "KeyObject.as".

Una vez que haya hecho esto, debe eliminar com.senocular.utils justo después de la declaración del paquete en el archivo, ya que no estamos utilizando la ruta de clase com.senocular.

Cambia esto:

 package com.senocular.utils import flash.display.Stage; import flash.events.KeyboardEvent; // Resto de la clase

A esto:

 paquete import flash.display.Stage; import flash.events.KeyboardEvent; // Resto de la clase

Paso 4: Importando el gráfico del jugador

En los archivos de descarga hay una imagen de nave espacial llamada jugador.png. En Flash, importa esto al escenario, yendo a Archivo> Importar> Importar a escenario. Haz clic derecho en él y elige "Convertir en símbolo", dale el nombre del símbolo "jugador" y asegúrate de que el punto de registro esté en la parte superior izquierda. Ahora dale el nombre de instancia de "jugador" también.


Paso 5: Configuración de la clase principal

Vaya a Archivo> Nuevo y elija Archivo ActionScript.

Guárdelo como Main.as y configúrelo como su Clase de documento dentro de "KeyObject.fla".

Luego agregue el siguiente código a "Main.as":

 package import flash.display.Sprite import flash.events.Event; importar KeyObject; clase pública principal extiende Sprite clave privada var: KeyObject; función pública Main () addEventListener (Event.ADDED_TO_STAGE, setupKeyObject);  function setupKeyObject (e: Event) key = new KeyObject (stage); stage.addEventListener (Event.ENTER_FRAME, movePlayer);  function movePlayer (e: Event) if (key.isDown (key.LEFT)) player.x - = 5;  if (key.isDown (key.RIGHT)) player.x + = 5;  if (key.isDown (key.DOWN)) player.y + = 5;  if (key.isDown (key.UP)) player.y - = 5;  si (jugador.y<0) player.y =0;  if(player .y > (stage.stageHeight - player.height)) player.y = stage.stageHeight - player.height;  si (jugador.x<0) player.x = 0;  if(player.x > (stage.stageWidth - player.width)) player.x = stage.stageWidth - player.width; 

Aquí configuramos nuestro paquete e importamos las clases que usaremos. A continuación configuramos el llave variable como tipo KeyObject, y dentro de nuestro Principal constructor añadimos una ADDED_TO_STAGE Escucha de eventos. Esto se llama cuando la película está completamente cargada y el escenario está listo.

Dentro de setupKeyObject función, ponemos la llave variable para ser una nueva instancia de la KeyObject clase y agregar un ENTER_FRAME Escuchador de eventos al escenario..

Dentro de mover jugador función comprobamos qué tecla se está presionando mediante el uso de key.isDown () y mover nuestro jugador en consecuencia.

Finalmente, verificamos si el objeto se ha movido fuera de los límites del escenario, y si lo ha hecho, lo colocamos nuevamente dentro del escenario.


Conclusión

¡Usar la clase KeyObject de Senocular hace que sea muy fácil mover los personajes de tu juego! Espero que este tutorial haya ayudado; gracias por leer.