Buen día, comunidad.
Tengo una duda sobre cómo trabaja la función de interpolación linear cuando la utilizo con una variable que, al mismo tiempo, designo como primer parámetro. Por ejemplo:
unValor = lerp(unValor, 90, 0.3)
Vi que alguien utilizaba esto para rotar un sprite en 90 grados produciendo un movimiento "suave" y bonito, y tiene sentido: el valor de la variable (en este caso, "unValor") se iría aumentando cada vez más y acercándose a 90 en rangos cada vez más acotados, lo que causaría que la imagen se moviese "rápido" al principio de la animación y "lento" al final. Lo que yo no entiendo es cómo es posible que finalmente la variable se vuelva 90. Hice los cálculos en un cuaderno (después de hacer algunos gráficos, porque entender lo que hacía esta función me tomo un buen rato :-[) y, a medida que continuaba interpolando, obtener el 30% de un rango cercano a 90 simplemente hacía que ese valor fuese cada vez más pequeño (89,992... 89,997...89,99934) pero nunca 90.
Hice un experimento y usé draw_text(x ,y, unValor...) y vi que la variable no tenía más de dos dígitos después de la coma, y que al acercarse al último número posible antes de tener que agregar otro dígito simplemente se volvía 90.
¿Game Maker redondea los números en este tipo de casos?
Tengo una duda sobre cómo trabaja la función de interpolación linear cuando la utilizo con una variable que, al mismo tiempo, designo como primer parámetro. Por ejemplo:
unValor = lerp(unValor, 90, 0.3)
Vi que alguien utilizaba esto para rotar un sprite en 90 grados produciendo un movimiento "suave" y bonito, y tiene sentido: el valor de la variable (en este caso, "unValor") se iría aumentando cada vez más y acercándose a 90 en rangos cada vez más acotados, lo que causaría que la imagen se moviese "rápido" al principio de la animación y "lento" al final. Lo que yo no entiendo es cómo es posible que finalmente la variable se vuelva 90. Hice los cálculos en un cuaderno (después de hacer algunos gráficos, porque entender lo que hacía esta función me tomo un buen rato :-[) y, a medida que continuaba interpolando, obtener el 30% de un rango cercano a 90 simplemente hacía que ese valor fuese cada vez más pequeño (89,992... 89,997...89,99934) pero nunca 90.
Hice un experimento y usé draw_text(x ,y, unValor...) y vi que la variable no tenía más de dos dígitos después de la coma, y que al acercarse al último número posible antes de tener que agregar otro dígito simplemente se volvía 90.
¿Game Maker redondea los números en este tipo de casos?