Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Ikaro3d en Junio 07, 2020, 07:36:27 PM

Título: función lerp +image_angle(solucionado)
Publicado por: Ikaro3d en Junio 07, 2020, 07:36:27 PM
Hola compañeros estoy depurando una animación , donde rota de izquierda a derecha y he pensado en eliminar las imágenes y dejar una estática

he creado este código para la animación y añadir la función lerp para que al final de de cada dirección me lo suavice  , pero no consigo que funcione
[gml]


if en==true {
    contador++
    image_angle++
   if contador==grados {en=false}
         
         
         }

   
if  en==false {
   image_angle--   
   contador--
   if contador ==-grados {en=true}} 
   
image_angle= lerp(image_angle,grados,0.3)[/gml]
Título: Re:función lerp +image_angle
Publicado por: kostra en Junio 07, 2020, 07:39:23 PM
ya viste en el manual la función lerp?.. lo estás usando mal
Título: Re:función lerp +image_angle
Publicado por: Ikaro3d en Junio 07, 2020, 07:49:38 PM
tengo esta referencia    pero no consigo trasladarlo al mio

https://www.youtube.com/watch?v=8BNaQWV_CIM&t=1044s
Título: Re:función lerp +image_angle
Publicado por: Ikaro3d en Junio 07, 2020, 08:13:30 PM
Cita de: kostra en Junio 07, 2020, 07:39:23 PM
ya viste en el manual la función lerp?.. lo estás usando mal
no estaba guardando la función lerp en image_angle , pero hora solo me genera el movimiento hacia  el lado izquierdo y se queda en 0  no realiza el movimiento -50
Título: Re:función lerp +image_angle
Publicado por: Ikaro3d en Junio 07, 2020, 09:22:36 PM
me a costado pero, ya lo tengo

[gml]if en==true {
   
       if contador==grados {en=false}
     image_angle= lerp(image_angle,grados,0.04)
    image_angle+=0.4
   
   contador+=0.4
}

   
if  en==false {
               if contador ==-grados {en=true}
        image_angle= lerp(image_angle,-grados,0.04)
   
   image_angle-=0.4
   
   contador-=0.4
    
}[/gml]
Título: Re:función lerp +image_angle(solucionado)
Publicado por: kostra en Junio 07, 2020, 09:53:16 PM
cortesía de DarkRaziel

nuevo script:
[gml]///tendera_ang(valor,objetivo,incremento)

if argument2 == 0
    return argument1;
argument0 -= argument2*sign( angle_difference(argument0,argument1) );
if abs( angle_difference(argument0,argument1) ) < argument2
    argument0 = argument1;

return (argument0%360 + 360)%360;
[/gml]

uso:
[gml]image_angle = tendera_ang(image_angle,grados,0.3);[/gml]
Título: Re:función lerp +image_angle(solucionado)
Publicado por: Ikaro3d en Junio 08, 2020, 12:06:08 AM
Gracias kostra ,aunque  mi nivel aun sigue siendo un poco  bajo ,tendré que estudiarme lo