我使用KineticJS进行了大量的转换。如下所示:
var baseX = pos.x;
var baseY = pos.y;
var w = self.getWidth();
var h = self.getHeight();
var halfW = w / 2;
var halfH = h / 2;
var aspectRadian = Math.atan2(halfH, halfW);
很快你的int数字变成了双数。那我该怎么处理呢?例如,当我必须设置Rect的位置时。我做了
rect.x(10);
由于没有半像素,以下内容没有任何意义:
rect.x(10.3);
我猜KineticJS在内部进行四舍五入,或者可能是双数字。
使用KineticJS时,使用int数字还是加倍?一个或另一个解决方案是否会导致性能问题或舍入错误?我应该一直使用双精度来尽可能精确吗?
答案 0 :(得分:0)
如果您只打算进行仅使用像素的计算,那么坚持浮动(或加倍)就可以了,不应该产生任何问题(除了轻微的抗锯齿,如果这是一个问题)对你而言)。但是,如果您尝试将像素转换为不同的测量值(例如英寸),那么您可能会发现Javascript的浮点精度对您不利。