Noviembre 23, 2011, 06:26:14 PM Ultima modificación: Noviembre 24, 2011, 07:55:47 PM por Mgbu
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);
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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
Noka siempre responde a los temas con 0 respuestas ^^

De 10  :D, no entiendo porque no andaba si es lo mismo pero anda.

Muchas gracias  8)

Resultado adjuntado  ;)
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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
Unete al grupo de desarrollo Zelda fangame plataforma
http://www.comunidadgm.org/index.php?topic=15124.0

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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy