Visto 16.307 veces.

AS3 – Tutorial – Control de personaje – Parte 1 – Mediante eventos de teclado y KeyboardEvent

Tutorial: Control de personaje, parte 1 Año: 2011 V.: AS3
Controla personaje [e]

Si algún día nos proponemos programar un juego seguramente echaremos mano de la clase KeyboardEvent para detectar los eventos de teclado
y realizar acciones según la tecla pulsada.

En el caso de querer controlar los movimientos de un personaje empezaríamos declarando los listeners apropiados de la siguiente manera.

Una de las características de los eventos de teclado es que mientras permanezcamos pulsando una tecla, el evento se repite de manera constante, esto quiere decir que llamara a la función asociada por cada entrada de frame mientras mantengamos la tecla presionada.

Esta característica en según que casos nos puede servir, pero en mi caso no me resultaba útil, imaginemos que queremos manejar un movieclip por pantalla cuyo contenido es un conjunto de fotogramas que representan los estados de una animación de un personaje, si queremos que el personaje salte mandaremos la cabeza lectora al fotograma “saltar” y reproduciremos la animación de saltar.

Aquí podemos observar que nos encontramos con un problema, mientras mantengamos la tecla W pulsada, la acción personaje_mc.gotoAndPlay(“saltar”); se va a estar ejecutando de forma indefinida enviando la cabeza lectora siempre al fotograma “saltar” y no veremos ninguna animación.

Para solucionar este problema deberíamos impedir que el evento se produzca de forma indefinida, es decir que solo llame a la función solamente una vez aunque mantengamos la tecla pulsada, para conseguirlo anduve haciendo varias pruebas y al final la mejor solución que encontré fue la siguiente.

Mismo código de ejemplo pero sin comentarios:

ejemplo:
Pulsa las teclas W,A,S,D y las de dirección up, down, left, rigth. Notarás que las teclas left y rigth no hacen nada porque estarían destinadas a la rotación de un posible mapa y no hay animación para ellas.

This movie requires Flash Player 9

.
Descargar ejemplo keyBoard.rar - - Descargado (1069) veces.
.
Partiendo de este ejemplo no seria difícil crear una clase pero esto ya lo dejo para vosotros.

Bueno ya hemos visto una manera de controlar a nuestro personaje en un juego, espero que sirva de ayuda y si alguien encuentra o sabe de una formula mejor le invito a compartirla en este blog.

saludos

3 comments on “AS3 – Tutorial – Control de personaje – Parte 1 – Mediante eventos de teclado y KeyboardEvent

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">