Lo que pasa, es que estoy haciendo que el personaje haga una sucecion de golpes (ya saben, que oprima la tecla de el ataque 1, la oprima de nuevo , ataque 2, y otra vez ataque 3) peeero, cuando la oprimo muy rapido el sprite no termina de mostrarse todo y muestra el siguiente, lo que quiero hacer es que aunque se presionen rapido se muesstren los sprites completos, este codigo es el que estoy usando:
evento key press G
mov=0
if(combo==0){
alarm[0]=15;
combo=1;
image_index=0;
sprite_index=link_atk1;
alarm[1]=10;
exit;
}
if(combo==1){
alarm[0]=15;
combo=2;
image_index=0;
sprite_index=link_atk2;
alarm[1]=10
exit;
}
if(combo==2)and sprite_index=link_atk2
{
alarm[0]=15;
combo=2;
image_index=0;
sprite_index=link_atk3;
mov=0;
alarm[1]=15
sleep(20);
exit;
}
donde la alarma 0 devuelve la variable combo a 0
y la alarma 1 pone el personaje en stand
ayudenme porfavor
Fatalfury cambia el icono al game maker 8 y te respondo, se como solucionar tu problema ya que estuve realizando un juego en donde tenia que hacer combos con el personaje.
de inmediato!!
Prueba con eso y me dices, tome el codigo que pusiste y lo modifique.
mov=0
if(combo==0 and sprite_index!=link_atk3 and sprite_index!=link_atk2){
alarm[0]=15;
combo=1;
image_index=0;
sprite_index=link_atk1;
alarm[1]=10;
exit;
}
if(combo==1 and sprite_index==link_atk1){
alarm[0]=15;
combo=2;
image_index=0;
sprite_index=link_atk2;
alarm[1]=10
exit;
}
if(combo==2 and sprite_index==link_atk2){
alarm[0]=15;
combo=2;
image_index=0;
sprite_index=link_atk3;
mov=0;
alarm[1]=15
sleep(20);
exit;
}
no...sigue igual lo que veo modificado es if(combo==0 and sprite_index!=link_atk3 and sprite_index!=link_atk2
que miraria que el sprite no sea el 2 o el 3 verdad? (creo que es asi)
pero entonces da lo mismo amigo.... se que puedes ayudarme gracias
tal vez desactivar la tecla mientras pasa el sprite pero no se como se hace eso
ya veo donde esta tu problema, es con la alarm[0], lo que haces en alarm[1] te aconsejo que lo hagas en el evento animation end.
//EVENTO ANIMATION END
if( sprite_index==link_atk1 or sprite_index==link_atk2 or sprite_index==link_atk3){
combo=0;
image_index=0;
sprite_index=sprite_stand;
}
//EVENTO alarm[0]
combo=0;
//EVENTO alarm[1]
combo+=1;
//EVENTO DEL BOTON DE ATAQUE
mov=0
if(combo==0 and sprite_index!=link_atk3 and sprite_index!=link_atk2){
alarm[0]=15;
alarm[1]=10;
image_index=0;
sprite_index=link_atk1;
exit;
}
if(combo==1 and sprite_index==link_atk1){
alarm[0]=15;
alarm[1]=10;
image_index=0;
sprite_index=link_atk2;
exit;
}
if(combo==2 and sprite_index==link_atk2){
alarm[0]=15;
combo=0;
image_index=0;
sprite_index=link_atk3;
mov=0;
exit;
}
//EVENTO STEP
if( sprite_index!=link_atk1 and sprite_index!=link_atk2 andr sprite_index!=link_atk3){
combo=0;
}
Para que funcione alarm[1] debe ser siempre menor a alarm[0] para que le de un lapso al jugador para realizar el combo.
alarm[0]=resetea el combo
alarm[1]=activa el siguiente golpe
Reduce o aumenta los tiempos de las alarm a tu gusto.
aca dejo un ejemplo de lo que estoy haciendo agradeceria que me ayudaras porfavor tambien que teb¿ngo problemas con la colision del piso como la pondrias tu, gracias por todo hombre de verdad
Cita de: Karasuman en Enero 31, 2013, 08:24:38 PM
Fatalfury cambia el icono al game maker 8 y te respondo, se como solucionar tu problema ya que estuve realizando un juego en donde tenia que hacer combos con el personaje.
Todo bien con que quieras ayudar a fatalfury, estás en todo tu derecho de avisarle, pero no por acá, no podés postear en temas que no cumplen las reglas, mandale un mp si querés darle un aviso, por acá es pseudomoderación y no está permitido
wow disculpenme gente y moderador ya aprendi muchas gracias, claro que sigo teniendo mi duda... ???
Creador de juegos GM tienes una sanción por las siguientes razones:
- Faltar el Respeto a un Miembro del Staff
- Desvirtuar el Tema principal
- Publicar mensajes sin sentido
- Por Pseudomoderar ( No eres moderador,por lo tanto no puedes llamar la atención de ningun usuario, ya existe gente expecificamente para eso)
Te hemos dado manga ancha pero eso llega a su fin, tienes un Ban por 7 dias.
Espero que esto sirva de ejemplo.
Te hice un ejemplo, lo ideal es crear una especie de buffer y controlar el mismo, en el ejemplo se hace activando variables. Luego cuando las sprites terminen su animación chequeas el estado del buffer, es bastante simple, si querés menor tiempo para sumar al buffer podés ponerle un tope de tiempo entre la presión de cada tecla, eso lo verás vos
Esta excelente muchas gracias por tu ayuda es exactamente lo que quiero, gracias por tu tiempo ahora debo mirar como adapto esto a mi codigo gracias de verdad. XD...me gustaria entender como funciona pero aun no estoy en ese nivel...
as! no logro adaptarlo
Si querés pasá el editable y lo hago por vos
esta bien aqui esta muchas gracias...veras que hay mucho codigo basura que pena..