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: dibujar movimiento  (Leído 699 veces)

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

Desconectado Sr.Mojon

en: Octubre 13, 2018, 09:28:08 pm
hola, ¿como se hace que cuando se cree un objeto que el sprite tenga una animacion que se mueva como flotando???

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado HKaichim

Respuesta #1 en: Octubre 13, 2018, 09:41:08 pm
hola, ¿como se hace que cuando se cree un objeto que el sprite tenga una animacion que se mueva como flotando???
No entendi bien que necesitas, pero con crear un Sprite y la animacion del moverse a cierta distancia de arriba hacia abajo bastaria...

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado 3dgeminis

Respuesta #2 en: Octubre 13, 2018, 10:59:43 pm
Usando image_speed mayor a 0 deberia reproducirse la animacion.
Usas algun evento DRAW ? dibujas el sprite usando draw_sprite ?

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Sr.Mojon

Respuesta #3 en: Octubre 14, 2018, 12:20:27 am
si lo dibujo con draw_sprite eso es para que dependiendo del tiempo que le quede al objeto se iba desapareciendo poco a poco

 


Desconectado 3dgeminis

Respuesta #4 en: Octubre 14, 2018, 05:22:13 am
En draw_sprite(sprite,subimg,x,y) que valor pones en subimg ? deberia se -1 o all

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Sr.Mojon

Respuesta #5 en: Octubre 14, 2018, 04:48:10 pm
0 es el valor que pongo

 


Desconectado BssString

Respuesta #6 en: Octubre 14, 2018, 07:25:08 pm
Hola Sr.Mojon

Si quieres crear un efecto de oscilación, lo mejor es usar las funciones trigonométricas, sugiero la función seno.

Creation Event
Código: [Seleccionar]
angle = 0
Step Event
Código: [Seleccionar]
angle +=4 //Esta es la velocidad, puedes usar un número más alto para que vaya más rápido
if angle >=360 angle -= 360

Draw Event
Código: [Seleccionar]
var cap = 16 //La cantidad máxima de pixeles que baja y sube
var y_offset = cap*dsin(angle)
draw_sprite(tu_sprite,la_sub_imagen,la_x,y_offset+la_y)

Eso hará que el sprite se mueva hacia arriba y abajo en un movimiento oscilante (con rango -cap;+cap en pixeles, para este ejemplo -16, +16 pixeles)
Puedes dibujar una sombra fija a nivel del suelo para que de una mejor sensación de que el objeto está flotando.

En GM8 no existe la función dsin(), en reemplazo debes usar: sin(degtorad(angle))

Si no es eso lo que necesitas, ignora este mensaje xD

Saludos

 


Desconectado Sr.Mojon

Respuesta #7 en: Octubre 14, 2018, 07:29:36 pm
me sale un error

var cap = 16 //La cantidad máxima de pixeles que baja y sube
var y_offset = cap*dsin(angle)  --------- aqui
draw_sprite(tu_sprite,la_sub_imagen,la_x,y_offset+la_y)

 


Desconectado BssString

Respuesta #8 en: Octubre 14, 2018, 07:30:56 pm
Hola Sr.Mojon

Qué error sale?

 


Desconectado Sr.Mojon

Respuesta #9 en: Octubre 14, 2018, 07:31:32 pm
unknown funtion or script: dsin

 


Desconectado BssString

Respuesta #10 en: Octubre 14, 2018, 07:32:39 pm
Hola Sr.Mojon

Es por tu versión de Game Maker entonces, dsin está disponible desde GMS 1.4 en adelante.

Usa la función de GM8.

Saludos

 


Desconectado Sr.Mojon

Respuesta #11 en: Octubre 14, 2018, 07:37:07 pm
se que es estúpido pero como hago la sombra para que parezca que flota??  XD

 


Desconectado BssString

Respuesta #12 en: Octubre 14, 2018, 07:50:15 pm
Hola Sr.Mojon

Puedes simplemente dibujar un círculo negro.
Código: [Seleccionar]
draw_ellipse(x1,y1,x2,y2,false)
O algo más elaborado puede ser dibujar el mismo sprite pero aplastado.
draw_sprite_ext(sprite_index,image_index,x,y+sprite_height+cap,1,0.2,0,c_black,1)

Eso dibujará el sprite con una escala en Y del 20% de su tamaño original.

Puedes incluso reducir e incrementar la escala de la sombra a medida que el objeto suba o baje para causar un efecto de altura.

Saludos cordiales

 


Desconectado 3dgeminis

Respuesta #13 en: Octubre 14, 2018, 07:56:34 pm
Si pones 0 en subimg solo se mostrara la primer imagen del sprite, por eso no se reproduce la animacion, pon -1 o la palabra all

 


Desconectado Sr.Mojon

Respuesta #14 en: Octubre 14, 2018, 07:59:30 pm
BssString en el código lo pongo asi y ya?? porque cuando el juego inicia me da un error en las variables