Ver Mensaje Individual
  #9 (permalink)  
Antiguo 07/10/2009, 18:39
Personagorda
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: juego de ping pong

Es una variacion de lo que pusiste vos, pero en vez de declarar N booleanas declara 1 Array.

Con lo que pusiste vos, tu ejemplo seria, no pongo los key up y algunas declaraciones pero se entiende la idea.

Cita:
var der:Boolean = false;
avr arriba:Bolean = false;
//etc por cada tecla que quieras computar
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);

function keyDown(evt:KeyboardEvent):void{
//Aca hay varias maneras de hacerlo, pero supongamos que vos lo haces asi
if(evt.keyCode == Keyboard.RIGHT){
der = true;
}

function enterFrame(evt:Event):void{
if(der == true && arriba == true){
//ir diagonal (por ejemplo);
}
}
}
Lo que yo cambio seria asi (no estoy poniendo los keyUp y otras cosas)

Cita:
var array:Array = [];
stage.addEventListener(KeyboardEvent.KEY_DOWN, teclaPresionada);
addEventListener(Event.ENTER_FRAME, teclas);
function teclaPresionada(evt:KeyboardEvent):void{
array[evt.keyCode] = true;
}

function teclas(evt:Event):void{
if(array[Keyboard.DOWN]==true && array[Keyboard.RIGHT]==true){
trace("dos teclas presionadas");
}
}