Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: josesito1432 en Octubre 07, 2015, 08:18:54 PM

Título: 3 elementos aleatorios temporizados
Publicado por: josesito1432 en Octubre 07, 2015, 08:18:54 PM
hola mi consulta es si me podrian ayudar, tengo 3 objetos, y quiero que un objeto claro sin sprite, los valla creando aleatoriamente pero uno a la vez, separados por un lapzo de tiempo....

por ejemplo tengo bonus_1,bonus_2,bonus_3

a tengo game maker studio
Título: Re:3 elementos aleatorios temporizados
Publicado por: penumbra en Octubre 07, 2015, 08:27:38 PM
en [CREATE] del objeto sin sprite
[gml]alarm[0] = room_speed * 5    //5 segundos[/gml]

En el evento alarm[0]
[gml]
randomize()
instance_create(random(room_width), random(room_height), choose(bonus_1, bonus_2, bonus_3))
alarm[0] = room_speed * 5    //5 segundos
[/gml]
El problema al que te vas a enfrentar es que al usar valores aleatorios, puede que alguno de los objetos se cree encima de otro objeto previamente creado, por lo cual se va a empalmar. Obviamente que hay maneras de que el objeto controlador (sin sprite) cree a los objetos bonus en posiciones libres, pero para eso, el objeto controlador necesita tener un sprite (máscara) para poder evaluar colisiones y asegurarse que el lugar elegido está libre. Sin un sprite (no importa que sea visible o no visible) el objeto controlador no puede evaluar colisiones.

Soluciones al problema anterior:
http://www.comunidadgm.org/preguntas-y-respuestas/pregunta-como-hacer-resapwn-de-objetos-en-psoiciones-aleatorias-y-libres(soluci/msg118032/#msg118032
Título: Re:3 elementos aleatorios temporizados
Publicado por: josesito1432 en Octubre 07, 2015, 09:11:15 PM
gracias por la velocidad en contestar me salvaste la vida,,, otra cosita mas, en el caos que yo quiera crear en solo tres lugares, que ya tengo elegidos, como x1,y1  -  x2,y2    -x3,y3
Título: Re:3 elementos aleatorios temporizados
Publicado por: penumbra en Octubre 07, 2015, 11:02:04 PM
Se puede hacer así:
[gml]
CREATE
px[0] = x1;  py[0] = y1
px[1] = x2;  py[1] = y2
px[2] = x3;  py[2] = y3

indice = 0
[/gml]

ARLARM[0]
[gml]
if (indice < 3)
{
     randomize()
     instance_create(px[indice], py[indice], choose(bonus_1, bonus_2, bonus_3))
     indice++
     alarm[0] = room_speed * 5    //5 segundos
}
[/gml]
Título: Re:3 elementos aleatorios temporizados
Publicado por: josesito1432 en Octubre 08, 2015, 10:18:19 AM
gracias funciono de 10  :D :D :D