Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Pejota en Septiembre 16, 2014, 01:23:09 PM

Título: Spawner de objetos [Resuelto]
Publicado por: Pejota en Septiembre 16, 2014, 01:23:09 PM
Buenas, estoy intentando hacer un único spawner para que emita objetos en varios puntos concretos, pero me da error de código y no sé como solucionarlo.

Este es el código:

instance_create(
choose(
(-66,286,Tabla_Izq),
(-66,396,Tabla_Izq),
(-66,506,Tabla_Izq),
(1320,286,Tabla_Der),
(1320,396,Tabla_Der),
(1320,506,Tabla_Der)))


Si sabéis porqué falla u otra manera de hacerlo, sería genial :)
¡Un saludo!
Título: Re:Spawner de objetos
Publicado por: Arcadian en Septiembre 16, 2014, 02:03:24 PM
No sé si se puede hacer un choose dentro de otro choose, si es así mira a ver este código:

choose(instance_create(-66,choose(286,396,506),Tabla_Izq),instance_create(1320,choose(286,396,506),Tabla_Der))
Título: Re:Spawner de objetos
Publicado por: Pejota en Septiembre 16, 2014, 02:21:43 PM
Muchas gracias,
funcionar funciona, pero quiero evitar escribir más de un "instance_create" para que los saque de uno en uno, pero si no lo consigo, quizás pueda adaptar este a lo que necesito.
Título: Re:Spawner de objetos
Publicado por: Black_Cat en Septiembre 16, 2014, 05:49:05 PM
En todo caso la sintaxis sería la siguiente:

instance_create(x,y, choose(obj1, obj2, obj3, obj4));


puesto que la funcion choose() solo toma un parámetro y no 3 como intentas hacerlo :D 
Título: Re:Spawner de objetos
Publicado por: Pejota en Septiembre 16, 2014, 10:30:01 PM
Ah, vale xD
Pero con el código que has planteado, lo que consigues es emitir varios objetos desde un mismo punto, y yo quiero conseguir que emita objetos desde varios puntos concretos.
Título: Re:Spawner de objetos
Publicado por: ocarina en Septiembre 17, 2014, 03:26:12 AM
hola amigo!!!
usa esto
en el evento create

pos_x=0;
pos_y=0;


en el evento donde creas las instancias

pos_x=choose(-66,1320);
pos_y=choose(286,396,506);
instance_create(pos_x,pos_y,choose(Tabla_Izq,Tabla_Der));



si te sirve comenta!!!
saludos!!!
Título: Re:Spawner de objetos
Publicado por: Pejota en Septiembre 17, 2014, 12:00:31 PM
Gracias Ocarina, pero no sirve porque cuando "x" es -66, solo debe emitir "Tabla_Izq" y cuando es 1320 solo debe emitir "Tabla_Der".

Al final he optado por cojer el código de Arcadian, separarlo en dos y hacer que funcionen por turnos, y se ha quedado guay :)
... pero si conseguís meterlo en un solo código ya sería genial, dado que con este "parche" que he realizado, la situación está forzada a que salgan una vez de un lado y la siguiente vez del otro, y la aleatoriedad máxima en este caso es importante.
Título: Re:Spawner de objetos
Publicado por: ocarina en Septiembre 17, 2014, 06:17:38 PM
Entonces agrega esto amigo

pos_x=choose(-66,1320);
pos_y=choose(286,396,506);
if (pos_x==-66)
{
instance_create(pos_x,pos_y,Tabla_Izq);
}
else
{
instance_create(pos_x,pos_y,Tabla_Der);
}
Título: Re:Spawner de objetos
Publicado por: Pejota en Septiembre 17, 2014, 11:33:21 PM
¡Ese sí que es el suyo! :D
Título: Re:Spawner de objetos [Resuelto]
Publicado por: ocarina en Septiembre 18, 2014, 04:24:16 AM
Amigo te sirvio???
Título: Re:Spawner de objetos [Resuelto]
Publicado por: Pejota en Septiembre 19, 2014, 12:45:23 AM
Sí, por eso te dije que ese sí era el suyo :D
Va genial, gracias :)