Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: jpnxyuki en Noviembre 15, 2013, 01:24:53 AM

Título: Ayuda con los sprys, siguen moviéndose a pesar q presiono otra tecla.
Publicado por: jpnxyuki en Noviembre 15, 2013, 01:24:53 AM
Hola, estoy haciendo mi primero juego en Game maker 8. Es un simple juego de pelea de a 2 jugadores, y estoy teniendo un problema con los movimientos.
Si un jugador tira una pina y el otro justo esta manteniendo apretado para ir hacia atras, el jugador que tiro la pina sigue tirandola hasta q el otro jugador deje de moverse.
No importa que tecla mantenga oprimida, si alguno de los jugadores ejecuto una accion, hasta q no suelte la tecla, estos se mantienen haciendo esa accion repetidamente.

[spoiler]//graficos

if hspeed<0{
sprite_index=snack_atras;
} else
if hspeed>0{
sprite_index=snack_delante;
}
if keyboard_check(ord('K')) and hspeed=0{

sprite_index=snack_agachar;
}
if keyboard_check (ord('K')) and keyboard_check_pressed(ord ('Q')) and hspeed=0{
sprite_index=snack_golpebajo;
hspeed=0;
}
if hspeed=0 and keyboard_check(vk_nokey) {
sprite_index=snack_normal;
}
if keyboard_check_pressed(ord ('Q')) and hspeed=0{
sprite_index=snack_pina;
}
if keyboard_check_pressed(ord ('A')) and hspeed=0{
sprite_index=snack_patada;
}

//movimientos
if keyboard_check_pressed(ord('J')){
hspeed=-9;
}
if keyboard_check_pressed(ord('L')){
hspeed=9;
}
if keyboard_check(vk_nokey){
hspeed=0;
}[/spoiler]
Título: Re:Ayuda con los sprys, siguen moviéndose a pesar q presiono otra tecla.
Publicado por: eams1986 en Noviembre 15, 2013, 03:52:46 PM
LOOK!! que tal si le cambias de pressed a Press .
Remember :

pressed: apretado
release: liberar
press :pulsar

if keyboard_check_press(ord('J')){
hspeed=-9;
}
entonces si tu tienes como apretado(pressed) el boton quiere decir que el dibujo va continuar con movimiento .

prueba con uno de estos a ver si te sirven
Título: Re:Ayuda con los sprys, siguen moviéndose a pesar q presiono otra tecla.
Publicado por: penumbra en Noviembre 15, 2013, 07:08:54 PM
Cita de: jpnxyuki en Noviembre 15, 2013, 01:24:53 AM
el jugador que tiro la pina sigue tirandola hasta q el otro jugador deje de moverse.

Pues eso es justamente lo que le dices que haga:

if hspeed=0 and keyboard_check(vk_nokey) {
sprite_index=snack_normal;


El sprite normal no se muestra si alguna tecla está siendo presionada. No es buena idea usar no_key si estás usando el teclado para un segundo jugador, los chequeos deben ser independientes entre ambos jugadores.