Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Mgbu en Noviembre 23, 2011, 06:26:14 PM

Título: Mover emisor (resuelto)
Publicado por: Mgbu en Noviembre 23, 2011, 06:26:14 PM
Estoy intentando hacer el humo de un avion (que es tan notable en el minisquadron), el problema es que las particulas se crean en el lugar de donde se creo el avion pero no se crean donde actualmente esta

Para hacer las particulas use el Particle Maker, un programa que descargue de la comunidad que simula y te da el codigo

El codigo que tengo en step es:
pat1=part_type_create();
part_type_shape(pat1,12);
part_type_size(pat1,0.40,0.25,-0.01,0);
part_type_direction(pat1,0,0,0,0);
part_type_gravity(pat1,0,0);
part_type_speed(pat1,0,0,0,0);
part_type_life(pat1,32,31);
part_type_blend(pat1,0);
part_type_color1(pat1,c_red);
part_type_alpha1(pat1,1);

sis1=part_system_create();
part_emitter_create(sis1);
part_emitter_region(sis1,pat1,x-2,x+2,y-2,y+2,1,1);
part_emitter_stream(sis1,pat1,pat1,1);
Título: Re: Mover emisor
Publicado por: NOKAUBURE en Noviembre 23, 2011, 07:42:59 PM
Primero de todo, con ese codigo funcionando una media hora mas o menos, se te petara el juego, porque estas creando a cada step un emiter.

Lleva esto al evento create (te he creado una variable nueva, emi1)
[gml]
pat1=part_type_create();
sis1=part_system_create();
emi1=part_emitter_create(sis1);
[/gml]

Y esto en el evento step:
[gml]part_type_shape(pat1,12);
part_type_size(pat1,0.40,0.25,-0.01,0);
part_type_direction(pat1,0,0,0,0);
part_type_gravity(pat1,0,0);
part_type_speed(pat1,0,0,0,0);
part_type_life(pat1,32,31);
part_type_blend(pat1,0);
part_type_color1(pat1,c_red);
part_type_alpha1(pat1,1);
part_emitter_region(sis1,emi1,x-2,x+2,y-2,y+2,ps_shape_rectangle, ps_distr_linear);
part_emitter_burst(sis1, emi1, pat1, 3);[/gml]

No lo he probado pero supongo ke ira bien
Título: Re: Mover emisor
Publicado por: Mgbu en Noviembre 23, 2011, 10:17:59 PM
De 10  :D, no entiendo porque no andaba si es lo mismo pero anda.

Muchas gracias  8)

Resultado adjuntado  ;)
Título: Re: Mover emisor (no se porque pero resuelto)
Publicado por: sulcan en Noviembre 24, 2011, 08:16:49 AM
Mgbu el programa que dices lo hice hace mucho ya tiempo, y olvide aclarar ese tipo de cosas, por lo que me disculpo, lo que pasa es que:
[gml]pat1=part_type_create();
sis1=part_system_create();
emi1=part_emitter_create(sis1);[/gml]

debe estar en el evento create porque estos crean las part?culas si lo pones en step o draw se crearan a cada momento, por eso no te funcionaba, NOKAUBURE gracias por aclararlo.

por cierto, puedes omitir donde los parametros sean solo 0 que en tu caso son:


[gml]part_type_direction(pat1,0,0,0,0);
part_type_gravity(pat1,0,0);
part_type_speed(pat1,0,0,0,0);
part_type_blend(pat1,0);
// este codigo no lo ocupas
[/gml]

ya que no afectan de nada las particulas...

un saludo
Título: Re: Mover emisor (no se porque pero resuelto)
Publicado por: Mgbu en Noviembre 24, 2011, 06:30:06 PM
Cita de: sulcan en Noviembre 24, 2011, 08:16:49 AM
Mgbu el programa que dices lo hice hace mucho ya tiempo, y olvide aclarar ese tipo de cosas, por lo que me disculpo, lo que pasa es que:
[gml]pat1=part_type_create();
sis1=part_system_create();
emi1=part_emitter_create(sis1);[/gml]

debe estar en el evento create porque estos crean las part?culas si lo pones en step o draw se crearan a cada momento, por eso no te funcionaba, NOKAUBURE gracias por aclararlo.

por cierto, puedes omitir donde los parametros sean solo 0 que en tu caso son:


[gml]part_type_direction(pat1,0,0,0,0);
part_type_gravity(pat1,0,0);
part_type_speed(pat1,0,0,0,0);
part_type_blend(pat1,0);
// este codigo no lo ocupas
[/gml]

ya que no afectan de nada las particulas...

un saludo

Gracias! por supuesto voy seguir usando tu PM, es muy util :)
PD: Usaba el PD (Particle Designer) de PoSvA pero no me anda mas