Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: Mega G en Mayo 23, 2014, 06:30:26 PM

Título: Distorsionar sprites
Publicado por: Mega G en Mayo 23, 2014, 06:30:26 PM
Distorsionar sprites

-Autor: Mega-G
-Explicación: Distorsiona el sprite_index de un objeto de forma sinusoidal. Recorta el sprite en forma de "tiras" horizontales y las mueve individualmente creando así un efecto de distorsión.

Aquí una muestra de cómo se ve:


-Versiones: GM7, GM8 y GMStudio

-Scripts:


distorsionar(amplitud,b)

amplitud es valor de la distancia máxima de una "tira" respecto a su posición inicial.
b es una constante que he utilizado para regular la forma de las ondas. En el ejemplo su valor es 10.


Este script irá en el evento <Draw>:


amplitud=argument0
b=argument1
for(i=0; i<=sprite_height; i=i+1)
{
draw_sprite_part(sprite_index,0,0,i,sprite_width,1,x+sin((angulo+i)/b)*amplitud,y+i)
}
angulo+=2


Y para que funcione tendrás que definir la variable angulo en el evento <Create>. Puedes ponerle el valor que quieras, es el ángulo inicial (en radianes).



El ejemplo del vídeo lo podéis descargar aquí: http://guinxu.com/downtut.php?link=18 (http://guinxu.com/downtut.php?link=18).
(Aunque no está en forma de script, lo he puesto directamente en el evento <Draw>).
Es un editable de GM7 pero lo podéis importar a GM8 y GMStudio sin problemas, lo he comprobado y todo es compatible.


Como siempre mis ejemplos son libres para el que quiera utilizarlos.
Y os responderé las dudas/preguntas que tengáis si algo no ha quedado claro.


¡Saludos!
Título: Re:Distorsionar sprites
Publicado por: Clamud en Mayo 23, 2014, 06:59:28 PM
Buen efecto, y lo lograste con un programa extremadamente corto... es una obra de arte!
Título: Re:Distorsionar sprites
Publicado por: abramelin en Mayo 24, 2014, 02:34:18 PM
ole! el autentico y genuino efecto wave. por fin. voy a intentar implementarlo a las pantallas de agua a ver como queda, que me quede con ganas de meter este efecto y lo tuve que hacer a lo cutre con el vegas.
gracias por compartir!!!

*el link me da error, me gustaria poder bajar el .gmk
Título: Re:Distorsionar sprites
Publicado por: Mega G en Mayo 24, 2014, 07:53:56 PM
Cita de: abramelin en Mayo 24, 2014, 02:34:18 PM
ole! el autentico y genuino efecto wave. por fin. voy a intentar implementarlo a las pantallas de agua a ver como queda, que me quede con ganas de meter este efecto y lo tuve que hacer a lo cutre con el vegas.
gracias por compartir!!!

*el link me da error, me gustaria poder bajar el .gmk

Qué raro, a mí no me da error. He probado descargarlo sin iniciar sesión en mi página y luego habiendo iniciado sesión y me funciona igual.
A lo mejor justo en el momento que lo has bajado ha habido un problema.

Un saludo y espero que puedas bajarlo ahora!
Título: Re:Distorsionar sprites
Publicado por: abramelin en Mayo 24, 2014, 10:31:50 PM
me sigue pasando  ??? me sale la paginas entera con simbolos,

'Õ�½��ñ��$   �� ��Y   ��­��ò��¾��'��a��$��W��;   ��¬��˜���' ��F���O���8����¢ ��x��B��ü��š��ù��{��ú���Î��þ��e��ˆ����Ï��³��ä
����ý��­��¼��ƒ����p��¤
��› ��§   ��¡��G��Œ��l����>��á��˜���O��œ   ��(���¬���"���0��˜��†��ó��¯���=��Ë���›��Ö��8��ñ���õ��z   ��'��¶��
��5����M   ��›��x��½   ����•   ��¼
��]   ��M
��È��} ��g��7��,��Ä��Û��,,��Ü��ª��d����±��©��M�� ��ä   ��ÿ��¿���›���_ ��0��Ï��2��‡��‰��Œ��M��
��X
��k��ï�� ��~��'   ��ž��"��«��º   ��V��‹
��É��F��Ó��.   ��÷�����u���ø�����¬ ��ê��ð��Å��}����ï��N��Â��#
��i ����ˆ��»   ��.��Ì��ú��'   ��X��S��ì��A��†��Í��#��,��t��«   ��&��
y asi toda la pagina

a que puede deberse esto? he permitido la pagina en no script por si acaso, pero me sigue saliendo eso. bastante raro si que es, ya que nunca me habia salido, si a los demas les va bien debe ser problema mio.
si lo pudieras subir por dropbox o adjunto de alguna forma seria la caña.
Título: Re:Distorsionar sprites
Publicado por: Killer en Mayo 24, 2014, 10:47:05 PM
El navegador está abriendo el archivo directamente en lugar de descargarlo, deja que se termine de cargar y luego presiona ctrl + S para guardarlo a disco manualmente.
Título: Re:Distorsionar sprites
Publicado por: abramelin en Mayo 24, 2014, 10:59:04 PM
gracias killer me ha funcionado
Título: Re:Distorsionar sprites
Publicado por: Mega G en Mayo 24, 2014, 11:36:42 PM
Para evitar que a más personas les pase como a abramelin voy a meter el ejemplo dentro de un zip para que lo descarguen bien.

Lo hago ahora y edito el mensaje para avisar de que ya está.

Disculpad las molestias, ahora mismo lo arreglo!

Edit: Ya está arreglado, todos los archivos son .zip
Título: Re:Distorsionar sprites
Publicado por: TheSandBoxMKG en Septiembre 18, 2014, 11:25:16 PM
Te recomendaría usar la copia de surfaces en ves de dibujar partes de sprites que actuan como un sprite mismo


surface_copy_part(destination,x,y,source,xs,ys,ws,hs)
Título: Re:Distorsionar sprites
Publicado por: Mega G en Septiembre 19, 2014, 03:39:19 PM
Cita de: TheSandBoxMKG en Septiembre 18, 2014, 11:25:16 PM
Te recomendaría usar la copia de surfaces en ves de dibujar partes de sprites que actuan como un sprite mismo


surface_copy_part(destination,x,y,source,xs,ys,ws,hs)

Gracias por el consejo, en cuanto pueda investigaré un poco y probaré tu código a ver qué tal va.
¡Saludos!