我正在尝试使用创意javascript框架P5.js,而且我经常使用度数来旋转球体。但是,我通过不断增加变量并将旋转基于该变量来实现。无限增加变量是不好的做法?当它到达360时,我应该将旋转重置为0吗?
示例:
this.deg = 0;
this.show = function(){
rotateY(radians(this.deg));
sphere(this.x, this.y, this.r);
this.deg++; // Continuously increasing the deg :(
}
答案 0 :(得分:0)
嗯,这取决于。
如果你谈论的是它会影响p5.js的任何表现,那么不,因为它很可能已经在程度上做了类似this.deg%=360
的事情。
但是你应该小心JavaScript中的非常大的整数,因为你可能会失去非常大的整数的精度或者可能会超出大小。
除此之外,你应该把事情保持在360以下,以避免在调试过程中出现任何混淆。
任何简单的方法都是在代码中使用模数运算符,如此
this.deg = 0;
this.show = function(){
rotateY(radians(this.deg));
sphere(this.x, this.y, this.r);
this.deg++;
this.deg%=360; // keep it under 360 deg , always
}
阅读有关JavaScript中整数安全限制的更多信息:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER以及此stackoverflow问题:What is JavaScript's highest integer value that a Number can go to without losing precision?