Comunidad de diseño web y desarrollo en internet online

por que KEY_DOWN solo me detecta una tecla a la vez ?

Citar            
MensajeEscrito el 25 Sep 2009 11:26 pm
Hola, mi duda es que al programar un clase donde utilizo eventos del teclado, solo me detecta una tecla a la vez, y no puedo hacer movimientos en diagonal con el MovieClip que quiero afectar.
Por ejemplo, si presiono las teclas de flecha derecha y flecha arriba, solo el evento me detecta una, y el movimiento es derecha o es arriba. El codigo es mas o menos asi :


private function eventoTeclaPresionada(event : KeyboardEvent): void
{

// MOVIMIENTOS
if(event.keyCode == 39)
{
trace("DERECHAA");
this.x+=5;
}
else if(event.keyCode == 38)
{
trace("ARRIBA");
this.y-=5
}
else if(event.keyCode == 40)
{
trace("ABAJO");
this.y+=5
}

else if(event.keyCode == 37)
{
trace("IZQUIERDA");
this.x-=5
}


//DISPAROS
if(event.keyCode == 32)
{
trace("BANG-BANG");

//CREAMOS LA BALA
var ClassReference:Class = getDefinitionByName("AS.bala") as Class;
var bala:MovieClip = new ClassReference(Escenario);
bala.x = this.x+90;
bala.y = this.y+10;
stage.addChild(DisplayObject(bala));
}

}


Gracias. Saludos.

Por zidane776

54 de clabLevel



1 ejemplo

 

Sinaloa, Mexico

msie7
Citar            
MensajeEscrito el 26 Sep 2009 10:38 am
Usa variables booleanas que pones a true cuando una tecla está oprimida (y a false cuando se suelta), luego cuando se presiona otra tecla verificas si alguna otra de las de dirección está en true, entonces modificas el movimiento a la diagonal.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Sep 2009 10:13 pm
Como te dice jorge, has unos listeners que detecten cuando una tecla está pulsada, cambiano una variable boolean de flase a true. Luego otra que detecte KEY_UP y pase de nuevo la variable a false. Después un listener enterframe, en el que configuras con if qué hacer cuando cada tecla está pulsada. Con eso te detecta todas las teclas que oprimas. Un saludo.

Por eskombro

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Sep 2009 11:28 am
Si quieres ver un encantador tip, mira uno de Clab

Por Eliseo2

710 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.