Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Naitsabes0 en Septiembre 04, 2017, 05:56:08 AM

Título: Una duda con los efectos [Solucionado]
Publicado por: Naitsabes0 en Septiembre 04, 2017, 05:56:08 AM
Se que asisten las funciones.

effect_create_above
effect_create_below

¿Pero y si quiero crear un efecto de sprite y no uno que se genere por defecto de estas funciones?

Por ejemplo tengo este efecto de 300x300 con 31 sub-imágenes que encontré en foros japones/chinos/koreanos, la verdad es que dibujan efectos de otro mundo, pero eso no es relevante a mi pregunta.
(https://i.gyazo.com/ec7107b0fd7cce3d999f243c5f83be2a.gif)

La idea es que este efecto se cree cuando pase una acción X, por dar un ejemplo el jugador coje (agarra) a una estrella, y esta activa este efecto cuando es colisionada, pero el sprite (efecto) debe eliminarse cuando llegue al ultimo fotograma.

Quiero aclarar de que en mi juego ningún efecto es por sprite, todos son producto de las 2 funciones anteriormente mencionadas, con esto busco hacer efectos mas profesionales y trabajados, ya que los que se tienen por defecto están muy limitados.
Título: Re:Una duda con los efectos
Publicado por: bygdle en Septiembre 04, 2017, 06:01:40 AM
Usa partículas.
http://docs.yoyogames.com/source/dadiospice/002_reference/particles/index.html
Título: Re:Una duda con los efectos
Publicado por: Naitsabes0 en Septiembre 04, 2017, 08:01:39 AM
Cita de: NiuWeb en Septiembre 04, 2017, 06:01:40 AM
Usa partículas.
http://docs.yoyogames.com/source/dadiospice/002_reference/particles/index.html
No busco hacer círculos, cuadrados o cualquier otra figura a base de repeticiones, ya que da el mismo resultado que las funciones mencionadas, ademas no permiten una forma definida, ya que son muchos elementos soltados al azar.
Título: Re:Una duda con los efectos
Publicado por: 3dgeminis en Septiembre 04, 2017, 04:06:26 PM
Usa un objeto para crear el efecto y cuando termine la animacion lo destruis
Título: Re:Una duda con los efectos
Publicado por: Naitsabes0 en Septiembre 04, 2017, 06:36:22 PM
Cita de: 3dgeminis en Septiembre 04, 2017, 04:06:26 PM
Usa un objeto para crear el efecto y cuando termine la animacion lo destruis
Jeje pero que gracia  me haces :D.

Vale hablando enserio, ya se que podría usar un evento colisión contra el obj_jugador, y usar la función instance_create() para crearlo y instance_destroy() para destruirlo, el problema es el tiempo que pasa entre que se crea y se destruye, ya que solo logro hacer estas 2 cosas.

1.-Creo la instancia y esta esta se ejecuta de forma permanente, básicamente cada vez que llega al final de la animación, vuelve a comenzar de forma indefinida.
2.-Se destruye al instante, es tan rápido que ni siguiera se sabe si hay un efecto presente.

Conclusión: El efecto se ejecuta permanentemente o es tan inmediato que parece que no se ejecuta, ambos resultados son malos al final   :(.

Solución: Escribir el código de tal forma que cuando se cree se destruya al llegar al ultimo fotograma, pero no se como debería armarlo, razón por la que he preguntado  :-\.
Título: Re:Una duda con los efectos
Publicado por: Seirlord_Games en Septiembre 04, 2017, 06:40:33 PM
Solo en el objeto de la animación, pon el evento "Animation End" en la pestaña "Other". Y ponle el código de destruir. Lo que hará es que al finalizar la animación el objeto se destruya
Título: Re:Una duda con los efectos
Publicado por: Naitsabes0 en Septiembre 04, 2017, 08:08:22 PM
Cita de: Seirlord_Games en Septiembre 04, 2017, 06:40:33 PM
Solo en el objeto de la animación, pon el evento "Animation End" en la pestaña "Other". Y ponle el código de destruir. Lo que hará es que al finalizar la animación el objeto se destruya
Nunca he usado ese evento, pero funciono bien, lo único raro es porque se crea fuera de las coordenadas establecidas.

Colisión con el jugador
///Creacion del efecto invertir color
instance_create(x+obj_Jugador,y+obj_Jugador,obj_Invertir_Colores)
instance_create(obj_Jugador.x,obj_Jugador.y,obj_Efecto_Estrella)
instance_destroy()

Como dice el código debería crearse encima del jugador pero...
(https://i.gyazo.com/6539481e45b866e9e4c88bf35eba4775.gif)

Aparece siempre a la derecha por debajo del jugador, la solución que se me ocurre es restar valor a la "X" y a la "Y", hasta que coincida con el jugador, pero eso no seria practico a la larga ¿debería darle una escritura que lo ubique bien por encima del jugador o darle valores al azar hasta dar con el mas optimo? lo raro es que con los efectos de funciones no pasa esto.

Título: Re:Una duda con los efectos
Publicado por: 3dgeminis en Septiembre 04, 2017, 11:55:38 PM
No tenes centrado el sprite
Título: Re:Una duda con los efectos
Publicado por: Naitsabes0 en Septiembre 05, 2017, 12:16:56 AM
Cita de: 3dgeminis en Septiembre 04, 2017, 11:55:38 PM
No tenes centrado el sprite
Ok... :-[