Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: fatalfury en Febrero 16, 2013, 03:20:40 AM

Título: ¿Como escoger un sprite aleatorio automaticamente?
Publicado por: fatalfury en Febrero 16, 2013, 03:20:40 AM
Buenas tardes

Lo que intento hacer es que cuando oprima 'J' muestre 1 de 3 sprites aleatoria mente, si oprimio J se muestra el tres si lo oprimio otra vez el 2, y asi hasta que deje de oprimir


Muchas Gracias
Título: Re:¿Como escoger un sprite aleatorio automaticamente?
Publicado por: knd144 en Febrero 16, 2013, 03:56:03 AM
Puedes hacer lo siguiente:

guardas en un arreglo (array) tus 3 sprites:

sprArray[0]=sprite1;
sprArray[1]=sprite2;
sprArray[2]=sprite3;


Y en el evento de presionar j (Si es que lo que quieres hacer es cambiar el sprite del objeto)

Citarsprite_index=sprArray[floor(random(3))];

Si lo que quieres dibujar es un sprite aparte del objeto puedes declarar una variable que puedes inicializar en false

Citar
spr = false;

hacer casi el mismo procedimiento para elegir el sprite aleatorio:

Citar
spr=sprArray[floor(random(3))];

y en el evento draw:

Citar
if(spr)
{
draw_sprite(x,y,spr);
}
Título: Re:¿Como escoger un sprite aleatorio automaticamente?
Publicado por: fatalfury en Febrero 16, 2013, 05:18:18 AM
Am no se donde poner los arrays

y cuando ejecuto este proceso se repite infinidad de veces y solo quiero que pase cada vez que se oprime J
Título: Re:¿Como escoger un sprite aleatorio automaticamente?
Publicado por: knd144 en Febrero 16, 2013, 07:51:29 AM
El array lo puedes poner en el evento create.

¿Dónde ejecutas ese código? Lo normal sería que lo pusieras en el evento de presionar tecla j...
Título: Re:¿Como escoger un sprite aleatorio automaticamente?
Publicado por: elviskelley en Febrero 16, 2013, 10:22:28 AM
if keyboard_check_pressed(ord("J")) then
{sprite_index=(choose(sprite0,sprite1,sprite2))}
//colocalo en el step event y cambia sprite... por los nombres de tus sprites.