[TUTORIAL] Sistemas de particulas en Game Maker

Estado
Cerrado para nuevas respuestas
OP
Mensajes
553
Reacciones
22
Puntos
0
Aquí les dejo otro tutorial hecho por mi, esta vez será de algo que seguro se les complica a muchos, los sistemas de particulas
Este codigo esta hecho por mi y les explicare la funcion para que puedan crear sus propios sistemas de particulas
{
global.ps = part_system_create();
global.pt1 = part_type_create();

part_type_shape(global.pt1,pt_shape_pixel);
part_type_size(global.pt1,0.20,1,0,0);
part_type_color3(global.pt1,0,0,0);
part_type_alpha3(global.pt1,1,0.50,0);
part_type_speed(global.pt1,0.50,2,0,0);
part_type_life(global.pt1,50,50);
part_type_direction(global.pt1,0,360,0,0);
part_type_orientation(global.pt1,direction,direction,0,0,1);
part_type_gravity(global.pt1,0,0);
part_type_scale(global.pt1,1,1);
part_type_blend(global.pt1,0);

global.em = part_emitter_create(global.ps);

part_emitter_region(global.ps,global.em,x,x,y,y,ps_shape_rectangle,ps_distr_linear);
part_emitter_burst(global.ps,global.em,global.pt1,5);
}
Ahí tenemos la estructura basica de un sistema de particulas pero quizá ustedes solo ven muchas letras xD asi que les explicare

global.ps = part_system_create();
global.pt1 = part_type_create();
esas 2 lineas las pegaran asi sin hacerle ningun cambio, son para que el codigo no tenga fallas ya que estas nos facilitaran cosas en los demas codigos

part_type_shape(global.pt1,pt_shape_pixel);
part_type_size(global.pt1,0.20,1,0,0);
part_type_color3(global.pt1,0,0,0);
part_type_alpha3(global.pt1,1,0.50,0);
part_type_speed(global.pt1,0.50,2,0,0);
part_type_life(global.pt1,50,50);
part_type_direction(global.pt1,0,360,0,0);
part_type_orientation(global.pt1,direction,direction,0,0,1);
part_type_gravity(global.pt1,0,0);
part_type_scale(global.pt1,1,1);
part_type_blend(global.pt1,0);
Estas 10 lineas son usadas para crear tu propio sistema de particulas
part_type_shape(global.pt1,pt_shape_pixel); esto indica la forma que tendra nuestro sistema de particulas, aqui les dejo algunas formas que pueden tener
pt_shape_circle para un circulo
pt_shape_disk para un disco
pt_shape_cloud para una nube
pt_shape_explosion para una explosion
pt_shape_pixel para un punto o pixel
pt_shape_line para una linea


part_type_size(global.pt1,0.20,1,0,0);
esto indicara el tamaño de el sistema, en este caso el primer tamaño que tendra sera de 0.20, luego pasara a 1, el otro numero indicara el tamaño en el cual se agrandara el sistema, ahora sera de 0 porque no queremos que se agrande, y el otro numero por ahora dejenlo en 0

part_type_color3(global.pt1,0,0,0);
esto indica el color que tendra nuestro sistema, como ahora nuestro sistema tiene 0 en todo el color de el sistema sera siempre 0 pero si lo cambiamos a 0,2525,0 el color primero sera negro, luego sera rojo y luego volvera a ser negro ya que el 2525 es = a el color rojo

part_type_alpha3(global.pt1,1,0.50,0);
esto indicara el alpha que tendrá, para los que no saben que es, es la transparencia, aqui al principio el alpha sera de 1 osea que será totalmente opaco, luego sera de 0.50 ahi sera transparente y luego sera de 0 osea que no se verá mas

part_type_speed(global.pt1,0.50,2,0,0);
esto indica la velocidad, el primer numero indica la minima velocidad que puede tener, el segundo indica la maxima velocidad y el tercero indica como incrementara la velocidad, el cuarto numero lo dejamos asi xD

part_type_life(global.pt1,50,50);
esto dejenlo asi, luego lo explicare mejor

part_type_direction(global.pt1,0,360,0,0);
esto es la direccion que tendrá el sistema, el primer numero es la minima direccion que puede tener, el segundo es la maxima y el tercero es como incrementara el grado de direccion, el cuarto numero lo dejaremos asi

part_type_orientation(global.pt1,direction,direction,0,0,1);
esto es para que aumente el angulo de direccion pero recomiendo que lo dejen así

part_type_gravity(global.pt1,0,0);
esto indicara la gravedad de el sistema, osea que hara que el sistema se mueva como si hubiese gravedad en el ambiente, el primer numero indica la velocidad de la gravedad y el segundo la direccion de la gravedad

part_type_scale(global.pt1,1,1);
esto indica el tamaño escala que tendra, ahora el tamaño es 1 pero si lo cambiamos a 2 sera el doble de grande, el primer numero indicara la escala x y el segundo la escala y

part_type_blend(global.pt1,0);
con esto podemos añadir un color aparte que tiña al sistema de particulas, no es muy necesario

global.em = part_emitter_create(global.ps);
esto tambien nos facilitara cosas asi que no lo cambien


part_emitter_region(global.ps,global.em,x,x,y,y,ps_shape_rectangle,ps_distr_linear);
part_emitter_burst(global.ps,global.em,global.pt1,5);
de estas 2 lineas solo cambien el x x y y para elegir quien quieren que emita el sistema de particulas ej:
part_emitter_region(global.ps,global.em,nave.x,nave.x,nave.y,nave.y,ps_shape_rectangle,ps_distr_linear);
para que el sistema se cree en el objeto "nave"

Bueno espero que me hallan entendido xD


Aca les dejo un ejemplo de un sistema creado por mi


{
global.ps = part_system_create();
global.pt1 = part_type_create();

part_type_shape(global.pt1,pt_shape_cloud);
part_type_size(global.pt1,0.20,1,0,0);
part_type_color3(global.pt1,65535,35327,255);
part_type_alpha3(global.pt1,1,0.50,0);
part_type_speed(global.pt1,0.50,2,0,0);
part_type_life(global.pt1,50,50);
part_type_direction(global.pt1,0,360,0,0);
part_type_orientation(global.pt1,direction,direction,0,0,1);
part_type_gravity(global.pt1,0,0);
part_type_scale(global.pt1,1,1);
part_type_blend(global.pt1,0);

global.em = part_emitter_create(global.ps);

part_emitter_region(global.ps,global.em,x,x,y,y,ps_shape_rectangle,ps_distr_linear);
part_emitter_burst(global.ps,global.em,global.pt1,5);
}

para probarlo solo lo pegan en el evento step y veran el potencial de los sistemas de particulas

Saludos :D
 
Última edición:
Mensajes
302
Reacciones
0
Puntos
0
La verdad que no se si este tema puedo ir aqui o tiene que ir en añade tus manuales la verdad no lo se...
En fin buen tutorial amigo!gracias por tu aporte;)
Le pegare una ojeada.Cuidate nos vemos!
 
OP
Mensajes
553
Reacciones
22
Puntos
0
La verdad que no se si este tema puedo ir aqui o tiene que ir en añade tus manuales la verdad no lo se...
En fin buen tutorial amigo!gracias por tu aporte;)
Le pegare una ojeada.Cuidate nos vemos!

No , este tema va aquí porque habla de creación de juegos y aparte casi ninguno que sepa game maker visita "añade tus manuales" XD
 
Última edición:
Mensajes
534
Reacciones
16
Puntos
0
Ubicación
Ecuador
Vaya, me quito el sombrero...
Creo que eres de los miembros mas significativos para este foro, gran tutorial amigo, espero con ancias mas tutoriales...
Felicitaciones..
 

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies

Fíjate en las fechas de los últimos post... Si pasan más de 30 días desde la última respuesta, no puedes responder, ya que sino estarías reviviendo el tema.

Y para poner un comentario así, mejor no ponerlo, porque queda marcado como Spam.

Post borrado.

Léete las reglas:
Reglas generales de los foros



Saludos,
~Angie



\\.
Closed.#
 
Estado
Cerrado para nuevas respuestas
Arriba Pie