Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: yokaiworld en Agosto 18, 2014, 01:09:27 AM

Título: ayuda con sentencia choise
Publicado por: yokaiworld en Agosto 18, 2014, 01:09:27 AM
hola esto crea una bandera (de diferentes paises uno a la vez)que cambia constantemente muy rapido lo que necesito es bajarle la velocidad o sino que escoja una y deje de mostara las otras


accion= choose(1,2,3,4,5,6);
if accion=1
{

draw_sprite_ext(spr_gua , image_index,100 , 100,1.7,1.7,0,c_white,1)
}

if accion=2
{

draw_sprite_ext(sp_cos , image_index,100 , 100,1.7,1.7,0,c_white,1)
}

if accion=3
{

draw_sprite_ext(sp_mex , image_index,100 , 100,1.7,1.7,0,c_white,1)
}

if accion=4
{

draw_sprite_ext(sp_hon , image_index,100 , 100,1.7,1.7,0,c_white,1)

}

if accion=5
{

draw_sprite_ext(sp_sal , image_index,100 , 100,1.7,1.7,0,c_white,1)

}

if accion=6
{

draw_sprite_ext(sp_nica , image_index,100 , 100,1.7,1.7,0,c_white,1)

}


Título: Re:ayuda con sentencia choise
Publicado por: Iros en Agosto 18, 2014, 01:35:20 AM
Podes poner que se ejecute una alarma en el evento Create de ese objeto, antes creando la variable "accion". Luego en el evento alarm ponés tu código de choose. En el evento Draw ponés el código, aunque te recomiendo que en vez de usar los IF uses la función "switch case":

[gml]
switch (accion) {
     case 1:
             draw_sprite_ext(spr_gua , image_index,100 , 100,1.7,1.7,0,c_white,1);
     break;
     ...
}
[/gml]

[EDIT]

Me olvidé de poner la ventaja del Switch Case ante el IF en este caso:

El Switch Case directamente busca el caso posible, es decir, si tu variable tiene el número 3, la función directamente saltaría al caso donde se cumpla en vez de pasar por todos los casos hasta llegar a ese.

El IF tendría que pasar sentencia por sentencia hasta dar con el IF correcto.

Cabe destacar que el Switch Case ÚNICAMENTE comprueba que la variable sea igual, NO se pueden usar comprobaciones lógicas como accion < 5 o cosas así.
Título: Re:ayuda con sentencia choise
Publicado por: yokaiworld en Agosto 19, 2014, 06:59:30 AM
hola gracias para el codigo ya lo puse y funciona, pero necesito que la bandera sea desde el principio random y siempre me tira la misma, ya cuando salgo y reinicio sin salir del juego ya si tira la bandera random alguna idea? gracias
Título: Re:ayuda con sentencia choise
Publicado por: penumbra en Agosto 19, 2014, 07:02:39 AM
antes de choose debe ir un
[gml]randomize()[/gml]