Pequeña duda que tengo sobre los movimientos con los sprite,
Tomemos como ejemplo un juego de sonic, cuando este corre principalmente entra con una velocidad reducida y luego es cuando empieza a correr mas rapido
cuando este presiona la tecla: Principalmente empieza a correr con los sprite y al segundo este aumenta la velocidad con otros sprite
Mi duda es como puedo hacer ese cambio de sprite al momento de iniciar el movimiento
Prueba con esto:
Create:
sprite_index = spr_parado;
velocidad = 0; //Velocidad actual
estado_velocidad = 0; //Cantidad de velocidad [0 = 4; 1 = 8;] (Se ve más adelante)
Step:
derecha = keyboard_check(vk_right); //Movimiento hacia la derecha
if estado_velocidad = 0{velocidad = 4;}if estado_velocidad = 1{velocidad = 8;}
if derecha{
if sprite_index = spr_parado{ //Al poner esta condición la alarma solo se ejecutará una sola vez
alarm[0] = room_speed; //La alarma se activará en un segundo
sprite_index = spr_caminar; //El sprite de movimiento reducido
}
}
else{ //Si no se está pulsando la tecla
velocidad = 0; //La velocidad se reducirá a 0
estado_velocidad = 0; //El estado volverá a 0 [velocidad = 4]
alarm[0] = -1 //Se reiniciará la alarma
sprite_index = spr_parado; //Y el sprite volverá ser el de parado
}
x += velocidad; //Suma la coordenada "x" actual por la variable "velocidad"
Alarm[0]: //Si se ha mantenido la tecla un segundo
sprite_index = spr_correr; //El sprite actual será el sprite de correr
estado_velocidad = 1; //Y la velocidad cambiará de 4 a 8
Esto es para el movimiento hacia la derecha.