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

juego de ping pong

Estas en el tema de juego de ping pong en el foro de Flash y Actionscript en Foros del Web. hola estoy haciendo un juego de ping pong y ya tengo todo listo... bueno solo falta una cosa... tengo funciones para el momento de presionar ...
  #1 (permalink)  
Antiguo 06/10/2009, 19:21
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
juego de ping pong

hola estoy haciendo un juego de ping pong y ya tengo todo listo... bueno solo falta una cosa... tengo funciones para el momento de presionar teclas pero el problema esta en que solo puedo presionar una a la vez o sino una no responde.
:(
Que puedo hacer??
  #2 (permalink)  
Antiguo 06/10/2009, 21:21
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: juego de ping pong

Hola
Busca sobre delayedcall o tweenmax.delayedcall
Usas as2 o as3?
  #3 (permalink)  
Antiguo 06/10/2009, 21:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: juego de ping pong

as3

estoy usando funcion de key_down pero solo me deja usar una a la vez :/
  #4 (permalink)  
Antiguo 06/10/2009, 22:24
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: juego de ping pong

Si, eso siempre pasa si dentro del key down le dices directamente que mueva tu 'pong'. entonces crea 4 variables booleanas, una para arriba, una para abajo, una izq y otra der. Haz que cuando se presione una tectla, esa variable se vuelva true, y cuando se suelte, esa variable se vuelva false. Despues, en un enterframe, configura que si determinada variable es true, se mueva haciua tal lado. Con esto ya funcionan varias teclas a la vez.

Puedes por lo tanto hacer 3 listeners. 1 para keydown, 1 para keyup, y 1 enterframe, donde pones las acciones. Seguro sirve, cualquier duda, escribes de nuevo.

Un saludo
Eskombro
  #5 (permalink)  
Antiguo 07/10/2009, 13:21
Avatar de luispaisa  
Fecha de Ingreso: mayo-2007
Ubicación: Colombia (Medellín)
Mensajes: 171
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: juego de ping pong

amigo creo que el problema esta en el enter frame
  #6 (permalink)  
Antiguo 07/10/2009, 13:23
Avatar de luispaisa  
Fecha de Ingreso: mayo-2007
Ubicación: Colombia (Medellín)
Mensajes: 171
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: juego de ping pong

es decir tenes que crearle un enter frame para qeu se mueva
  #7 (permalink)  
Antiguo 07/10/2009, 15:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: juego de ping pong

La solucion de Eskombro esta limitada a las 4 flechas, si necesitabas 20 teclas tendrias que hacer 20 booleanas. Es mas facil que guardes la informacion en un array.

Ej
Cita:
stage.addEventListener(KeyboardEvent.KEY_DOWN, teclaPresionada);
function teclaPresionada(evt:keyboardEvent):void{
array[evt.keyCode] = true;
}
Obviamente para el keydown cambias la propiedad a false, y en enterFrame vas chequeando que teclas estan presionada y tomas la acccion que quieras.
  #8 (permalink)  
Antiguo 07/10/2009, 16:57
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
De acuerdo Respuesta: juego de ping pong

Cita:
Iniciado por Personagorda Ver Mensaje
La solucion de Eskombro esta limitada a las 4 flechas, si necesitabas 20 teclas tendrias que hacer 20 booleanas. Es mas facil que guardes la informacion en un array.

Ej


Obviamente para el keydown cambias la propiedad a false, y en enterFrame vas chequeando que teclas estan presionada y tomas la acccion que quieras.
HUMMM... Eso de ser persona gorda, parece que te hace inteligente . Me explicas como es eso? el código que pones no me queda muy claro, y me gustaría aprender aprovechando este post. Como lo haces con array? Igual se lo aclaras a él y así soluciona su problema, y los demás aprendemos.

Gracias por el apunte.

Un saludo.
Eskombro
  #9 (permalink)  
Antiguo 07/10/2009, 18:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 16 años, 3 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");
}
}
  #10 (permalink)  
Antiguo 07/10/2009, 23:09
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: juego de ping pong

AH que bien, ya entiendo la idea. Muchas gracias por la explicación!!! Pero solo comento otra cosa... No necesitas crear funciones para que vaya en diagonal, como ponías en el ejemplo. Precisamente haciendolo a través de enterframe, esto es lo que ganas. Que las dos teclas funcionen al tiempo. Si no no tendría mayor gracia todo el proceso. Es decir, la idea es que ambas teclas funcionan al tiempo, por tanto arriba y derecha funcionan al tiempo, y por tanto se mueve en diagonal. Entonces solo hay que programar que pasa en cada tecla...

Bueno muchas gracias, tengo ke hacer la prueba.
  #11 (permalink)  
Antiguo 07/10/2009, 23:10
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: juego de ping pong

Duplicado... perdon
  #12 (permalink)  
Antiguo 08/10/2009, 15:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: juego de ping pong

Depende pura y exclusivamente de si la diagonal hace la suma de lo que hacen los componentes por separado. Igual era un ejemplo esto para explicar otro funcionamiento, la aplicacion se la ponen ustedes.
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 17:07.