0

我有一个问题,过去一个小时我一直在尝试解决,但没有成功。这是整个代码: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;       
    } 
4

1 回答 1

0

当您的页面加载并且您最初调用“draw”时,变量“pageX”和“pageY”尚未从“mousemove”事件处理程序初始化;那时这些事件都不会发生。

这是您的小提琴的更新(工作?)版本。 我所做的重要更改是:

var pageX = 0;
var pageY = 0;

我还做了一些小的改动,以使代码在小提琴上下文中正常工作。

于 2013-07-13T14:12:53.823 回答