Enero 31, 2013, 06:58:58 PM Ultima modificación: Enero 31, 2013, 08:29:21 PM por fatalfury
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.


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

#8 Febrero 01, 2013, 04:41:28 AM Ultima modificación: Febrero 01, 2013, 05:12:13 PM por shaoran

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... ???

#10 Febrero 01, 2013, 05:11:06 PM Ultima modificación: Febrero 01, 2013, 07:20:04 PM por shaoran
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




#12 Febrero 01, 2013, 07:46:31 PM Ultima modificación: Febrero 01, 2013, 07:54:25 PM por fatalfury
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...


Si querés pasá el editable y lo hago por vos