Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Particula a partir de sprite que se desplaza suavemente  (Leído 1005 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Yuzo

en: Septiembre 23, 2017, 03:53:30 pm
Saludos;

El titulo es bastante descriptivo,voy a hacer un nivel en el que quiero poner particulas que se desplacen por la pantalla aleatoriamente.

Hasta ahora casi todas las particulas que he visto salen de arriba a abajo, aunque supongo que esto se puede modificar, no obstante, lo que mas me tira para atras a la hora de decantarme por el sistema de particulas que tiene GMS es que si no me equivoco, es de lo que mas recursos pide.

Así pués, en principio, creo que voy a hacer un sprite pequeño con una animacion que sea de iluminacion y ya esta.

Y aqui mi duda:

una vez tenga el sprite y su animacion....como podria hacer el moviemiento ?, asi a vote pronto habia pensado en poner una alarma, y que cada X tiempo cambie de direccion y que sea aleatoria, pero claro, esto va a crear unos cambios de direccion muy bruscos, no se muy bien como enfocarlo, alguien me puede ayudar?.

El resultado sería como no se, como ver a una luciernaga volando por ahi, que viene a ser un grupo de 4 u 8 pixels volando, pero lo dificil es hacer su movimiento.

Entiendo que es una pregunta demasiado general y tal vez contestarla sea un poco complicado, pero toda ayuda será bien recibida.

Un Saludo, y Gracias.

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Naitsabes0

Respuesta #1 en: Septiembre 23, 2017, 04:21:01 pm
Te parece bien este código para lo que buscas?

/////////////////////////////////////CREATE/////////////////////////////////////////////////////////////
///Sistema de particula
//Creamos el sistema de particulas
nieve = part_system_create();
part_system_depth(nieve, 50); //Produndidad

//Creamos un nuevo tipo de particulas
particula_nieve = part_type_create();
part_type_shape(particula_nieve,pt_shape_snow); //La forma de la particula
part_type_color1(particula_nieve,55295); //El color de la particula
part_type_orientation(particula_nieve,0,0,0,0,1); //La rotacion aleatoria de la particula
part_type_size(particula_nieve,0.05,0.25,0,0); //Tamaño aleatorio de la particula
part_type_speed(particula_nieve,1,1.5,0.05,0); //Velocidad de la particula
part_type_direction(particula_nieve,180,180,0,4); //Direccion de la particula
part_type_life(particula_nieve,180,210); //Duracion de la particula

//Creamos en el emisor
nieve_emisor = part_emitter_create(nieve);
//Establecer region de la habitacion donde se creara el emisor, el perfil y la forma de distribucion
part_emitter_region(nieve,nieve_emisor,0-100,room_width+100,-10,room_height-5,ps_shape_ellipse,ps_distr_linear);
//Empezamos a emitir particulas cada 0.20 segundos
part_emitter_stream(nieve,nieve_emisor,particula_nieve,-5);

Solo usa un evento, es pequeño y tiene lineas de código bien argumentadas, el resultado visual es este.

Y como se destruyen y no tienen sprite, es económico, ideal para bajos recursos, es la versión semejante a la nieve que are en otro juego.

Te recomiendo que lo edites hasta que des con lo que buscas si no cumple con tus expectativas, al menos para que tengas una base.

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Yuzo

Respuesta #2 en: Septiembre 25, 2017, 07:46:12 am
Gracias por contestar Naitsabes0;

Tu sistema me parece muy interesante y sin duda me servira para otros niveles futuros, pero la verdad es que justamente es esto lo que no quiero hacer y evitar.

Basicamente lo unico que necesito es que alguien me diga como crearía el moviemineto de un objeto luciernaga, de manera que vuele por la pantalla y vaya variando su direccion y tal vez tambien su velocidad pero con suavidad, por que los modos en que a mi se me ocurririan suponen una variacion de la direccion pero esto queda muy brusco, alguna ayuda ?.

Gracias.

 


Desconectado bygdle

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2841
  • Mensajes: 1.715
  • Agradecido: 150 veces
  • Sexo: Masculino
  • Thomas the dank engine.
    • Ver Perfil
Respuesta #3 en: Septiembre 25, 2017, 07:53:57 am
Carga este script a tu proyecto: http://www.comunidadgm.org/desarrollo-de-scripts/rotacion-lenta/

Ahora, en el objeto luciérnaga:
///Evento create
randomize();
giro = irandom(359);
speed = irandom_range(3, 5); //La velocidad, en un rango de 3px/step a 5px/step

alarm[0] = room_speed * irandom_range(0.5, 2); //Rango de tiempo (entre 0.5 y 2 segundos, cambia a gusto)
///Evento alarm 0
giro = irandom(359);
alarm[0] = room_speed * irandom_range(0.5, 2); //Rango de tiempo (entre 0.5 y 2 segundos, cambia a gusto)
///Evento step
direction = giro_lento(direction, giro, 10); //El 10 aquí es la velocidad de giro, en grados/step.
image_angle = direction; //si lo necesitas, que el sprite gire a donde vaya yendo.

alaberga regué el café.

BA:STFW&RTFM
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Naitsabes0

Respuesta #4 en: Septiembre 25, 2017, 09:59:40 am
"pero la verdad es que justamente es esto lo que no quiero hacer y evitar."

ok   :(

"Basicamente lo unico que necesito es que alguien me diga como crearía el moviemineto de un objeto luciernaga, de manera que vuele por la pantalla y vaya variando su direccion y tal vez tambien su velocidad pero con suavidad, por que los modos en que a mi se me ocurririan suponen una variacion de la direccion pero esto queda muy brusco, alguna ayuda ?."

¿Entonces algo que funcione así te sirve?


Bueno aspecto de luciérnaga no tiene, pero es una idea de por donde se están moviendo.

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Yuzo

Respuesta #5 en: Septiembre 25, 2017, 10:21:57 am
Gracias NiuWeb y Naitsabes0 por vuestras respuestas, fusionando vuestros dos conceptos va dando forma a lo que buscaba.

Os lo agradezco muchisimo, me doy por satisfecho y cierro post.

Gracias !!!.