JS - 简单绘图

时间:2013-07-13 13:52:09

标签: javascript jquery mouse move

我有一个问题,我一直试图解决过去一小时没有成功。 以下是完整代码: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;       
    } 

1 个答案:

答案 0 :(得分:0)

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

Here is an updated (working?) version of your fiddle.我所做的重要改变是:

var pageX = 0;
var pageY = 0;

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