我有一个问题,我一直试图解决过去一小时没有成功。 以下是完整代码:http://jsfiddle.net/apbEX/4/
问题:当我使用updatePoint函数时,point.x(和point.y)是没有明显原因的NaN,因此它不会绘制点。但是如果你注释函数updatePoints,它通常会绘制点(point.x和y具有正确的值)。这意味着更新功能一定有问题,但是我看不出任何错误,过去我没有遇到过这个功能..
非常感谢任何帮助!
更新功能:
function updatePoint(point) {
console.log(pointList[10].x)
point.eX = pageX - offLeft;
point.eY = pageY - offTop;
var dx = (point.eX - point.origPosX);
var dy = (point.eY - point.origPosY);
var mag = Math.sqrt(dx * dx + dy * dy);
point.velocityX = (dx / mag) * point.speed;
point.velocityY = (dy / mag) * point.speed;
point.x += point.velocityX;
point.y += point.velocityY;
}
答案 0 :(得分:0)
当您的页面加载并且您最初调用“draw”时,变量“pageX”和“pageY”尚未从“mousemove”事件处理程序初始化;这一切都不会发生在那一点上。
Here is an updated (working?) version of your fiddle.我所做的重要改变是:
var pageX = 0;
var pageY = 0;
我还做了一些小改动,以使代码在小提琴上下文中正常工作。