Foros del Web » Creando para Internet » Flash y Actionscript »

Detectar dos teclas pulsadas simultaneamente

Estas en el tema de Detectar dos teclas pulsadas simultaneamente en el foro de Flash y Actionscript en Foros del Web. Hola. Estoy haciendo un juego y me está funcionando todo bien hasta ahora, cuando presiono las teclas derecha e izquierda, el personaje se mueve correctamente ...
  #1 (permalink)  
Antiguo 22/08/2008, 08:48
 
Fecha de Ingreso: junio-2008
Mensajes: 11
Antigüedad: 9 años, 6 meses
Puntos: 0
Detectar dos teclas pulsadas simultaneamente

Hola.
Estoy haciendo un juego y me está funcionando todo bien hasta ahora, cuando presiono las teclas derecha e izquierda, el personaje se mueve correctamente (en realidad es el escenario el que se mueve) pero cuando intento saltar soy ignorado, al parecer Flash solo detecta una tecla presionada a la vez.

Existe alguna manera de lograr que el escenario se mueva mientras se ejecuta la animación del salto?

Puedo capturar dos teclas?

Es decir,

Qué haga las dos acciones al mismo tiempo? (moverse y saltar).

Muchas gracias de antemano.

Este es el código que estoy usando:
Código:
fra = 1;
velBajada = 30;
salto = true;
_root.onEnterFrame = function():Void {
	if (Key.isDown(Key.LEFT)){//Izquierda
		dir = "izq";
		if(escenario._x < 2409.3){
			char.gotoAndPlay("caminarIzq");
			char.mcaminarIzq.gotoAndPlay(fra++);
			escenario._x += 10;
		}
	}else if(Key.isDown(Key.RIGHT)){//Derecha
		dir = "der";
		if(escenario._x > -513.0){
			char.gotoAndPlay("caminarDer");
			char.mcaminarDer.gotoAndPlay(fra++);
			escenario._x -= 10;			
		}
	}else if(Key.isDown(Key.UP)){//Arriba
		if(dir == "der"){
			char.gotoAndPlay("saltoDer");
		}else if(dir == "izq"){
			char.gotoAndPlay("saltoIzq");
		}
		char.msaltoDer.gotoAndPlay(fra++);
		
	}
};
Muchas gracias de antemano
  #2 (permalink)  
Antiguo 22/08/2008, 14:20
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 13 años
Puntos: 43
Respuesta: Detectar dos teclas pulsadas simultaneamente

Hola JohnRestrepo !

El problema esta en tus condicionales, solo esta evaluando una condición si se cumple, debes de quitar el útimo bloque 'else if', y dejarlo en un bloque independiente 'if'.

Código PHP:
_root.onEnterFrame = function():Void {
    
       if (
Key.isDown(Key.LEFT)){//Izquierda
        //...
    
}else if(Key.isDown(Key.RIGHT)){//Derecha
        //...
    
}
      
       if(
Key.isDown(Key.UP)){//Arriba
        //...
    
}
}; 
Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #3 (permalink)  
Antiguo 22/08/2008, 14:45
 
Fecha de Ingreso: junio-2008
Mensajes: 11
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Detectar dos teclas pulsadas simultaneamente

Si hermano, muchas gracias.
Fue un problema de lógica, espero que esto le pueda ayudar a muchas personas también.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:01.