Enero 24, 2013, 06:23:49 PM Ultima modificación: Enero 24, 2013, 11:20:47 PM por fatalfury
Bien muchachos, quisiera agradecerle porque de verdad he encontrado ayuda aqui...

Bueno, quisiera saber, como hago para que cuando oprima un boton haga algo asi como el ataque 1 y cuando lo oprmia de nuevo despues de terminar el ataque 1 haga el ataque 2, y si se oprome otra vez, cuando termine haga el ataque 3 y pero si se oprime otra vez vuelva a hacer el ataque 3.

tambien que cuando se oprima adelante y el boton de ataque haga un ataque diferente y mas fuerte, otro que si va corriendo y se oprima haga otro..

me gustaria aprender de ustedes muchas gracias.

con una variable que se suma +=1 cada vez que se presiona luego una alarm reinicia la variable a 0, por si han tardado en presionarla, ejemplo.
create.
combo=0;

keyboard pressed "Z"
combo+=1;

switch(combo)
{
case 1: sprite_index=golpe1; alarm[0]=1*room_speed; break;
case 2: sprite_index=golpe2; alarm[0]=1*room_speed; break;
case 3: sprite_index=superGolpe  alarm[0]=1*room_speed; break;
}
alarm 0 event
combo=0; sprite_index=normal;



Citarno funca....se mas especifico porfavor

Bueno obiamente no te va a funcar si lo copias y lo pegas, lo que elviskelley hizo fue darte una idea de como hacerlo, lo demas tienes que hacerlo tu, en fin hacer combos lo puedes hacer de diferentes formas, yo en lo personal uso alarmas que son mas faciles de usar cuando uso la misma tecla.

Ejemplo:


//EVENTO CREATE
combo=0;

//EVENTO DE ALARM 0
combo=0;

//TECLA DE ATAQUE

if(keyboard_check_pressed(ord("A"))){
    if(combo==0){
        alarm[0]=10;
        combo=1;
        image_index=0;
        sprite_index=spr_ataque1;
        exit;
    }

    if(combo==1){
        alarm[0]=10;
        combo=2;
        image_index=0;
        sprite_index=spr_ataque2;
        exit;
    }
}


Yo tenia un pequeño sistema que hice, eso si debes saber los numeros que poseen cada una de tus teclas, eso lo ves con la variable global llamada keyboard_key, que es un valor numerico, que si no hay ninguna tecla presionada es 0, yo hice un pequeño codigo:

En el evento Create:

key_tiempo          = 0
key_tiempo_max  = 15 (tiempo que desees con respecto a los fps de tu juego)
key_combinacion  = ""


En el Evento Step:


if (keyboard_check_pressed(vk_anykey))
  {
  key_tiempo = key_tiempo_max;
  if (keyboard_key != 0)
  {combinacion += string(keyboard_key)}
  }
 
  if (key_tiempo > 0)
  {key_tiempo -= 1} else {key_tiempo = 0; combinacion = ""}

  if (string_count("37",combinacion) >= 2) || (string_count("39",combinacion) >= 2)
  { aca tu codigo }



si puedes ver, usé la función string_count(sub_string,string) que cuenta cuantas veces esta sub_string en string, en este caso la tecla 37 y 39, son izquierda y derecha, si se repetia mas de 2 veces en el tiempo que elejí, el personaje hacia algo diferente, no se, ahi ves tu si te es de utilidad, saludos!!!
El ayer es un recuerdo, el mañana un pensamiento, es el ahora en donde existo y vivo para ser feliz :D

muchachos me resolvieron la mitad del problema...pues para que pase el sprite completo tengo que estar oprimiendo la tecla y ademas se repite el sprite hasta que lo suelto...muchas gracias

a ver checa si algo asi te sirve,

el sistema de combos me hace falta pulirlo, pero es lo que buscas
Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala