(我更正了 mousedown 的事情..)
我想要实现的是在画布上拖动一个球,然后球将跟随鼠标并改变它的颜色。
一旦鼠标松开它,它的颜色就会变回原来的颜色。
我使用“break”是因为一次只能拖动一个球。
现在的问题是,
- “拖动”似乎很奇怪,似乎“拖动”了第一个球,但只有在第一个球之后才可以使用鼠标移动(没有鼠标按下)。
- 颜色不变
下面的主要功能(完整代码在这里 http://jsfiddle.net/nyTkU/1/):
var mousePress = false;
var mouseEvent = function(){
$(canvas).mousedown(function(e){
mousePress = true;
$(canvas).mousemove(function(e){
for(var i=0;i<figureNum;i++){
var distX=e.pageX-balls[i].x;
var distY=e.pageY-balls[i].y;
var distance = Math.sqrt((distX*distX)+(distY*distY));
if(distance<=20){
balls[i].x=e.pageX;
balls[i].y=e.pageY;
if(mousePress){
balls[i].c="#F05133";
}
break;
}
//else{balls[i].c="#FFED79";}
}
});
});
$(canvas).mouseup(function(e){
mousePress=false;
//for(var i=0;i<figureNum;i++){
// balls[i].c="#FFED79";
//}
})
setTimeout(animate,speedMouse);
}
非常感谢。