Estoy tratando de fluctuar la variable "z" en 0.1 entre los dos rangos de 0 y 2 continuamente. Cuando alcanza el máximo de 2, quiero que la variable "z" disminuya. Y cuando llega al mínimo de 0, quiero que la variable "z" aumente. Hasta ahora, todo lo que hace mi código es devolver el número 1.
NOTA: También estoy haciendo esto en canvas-sketch por github.com/mattdesl
let z = 1; let count = 0.1; setInterval(function(){ if(z == 2) count *= -1; if(z == 0) count *= +1; return z += count; }, 1000); console.log(z);Prueba esto:
let z = 1; let increment = 0.1 setInterval(function(){ if(z === 2) increment = -0.1; if(z === 0) increment = 0.1; z = Math.round((z + increment) * 10) / 10; console.log(z); }, 1000);La línea z es bastante clave aquí. Pruébelo como solo z += incremento y obtendrá errores de redondeo JS. Entonces, solo debemos asegurarnos de limpiar el número a un lugar decimal después de agregarlo.