Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - renrojo

1
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?
2
Intenté hacer que un string se muestre letra por letra. La idea fue usar una variable que se va incrementado de a 0.5 hasta llegar a la longitud total del string, usándola juntó a string_copy para ir copiando los caracteres en otra variable y haciendo un draw de esa variable. Pero después pensé que podía usar un for y usar su índice "i" en el string_copy.
El resultado de lo último: La string no se muestra letra por letra, sino que aparece completamente y varias veces en el mismo lugar (Superpuestas. El efecto es como el de una fuente en "negrita").
Recurrí a la primera solución que se me había ocurrido; es decir, usar una variable de instancia definida en el evento create, y el problema se solucionó.
Sin embargo, no veo la diferencia entre hacer una cosa y la otra. ¿Alguien podría explicármelo? Soy nuevo en GML.