有没有人能够提供一个简单的解决方案,使用HTML5画布通过鼠标移动圆圈?我已经阅读了各种框架(如easel、fabrics、paper等),尽管它们都很酷,但我只需要一个小圆圈跟随鼠标指针,这并不值得花费超过100K的代码。
有没有人能够提供一个简单的解决方案,使用HTML5画布通过鼠标移动圆圈?我已经阅读了各种框架(如easel、fabrics、paper等),尽管它们都很酷,但我只需要一个小圆圈跟随鼠标指针,这并不值得花费超过100K的代码。
我不应该让你什么都没试就把它交出去,但无论如何,希望它能有所帮助。
var canvas=document.getElementById("canvas"),
ctx = canvas.getContext("2d");
canvas.width = canvas.height = 500;
var targetX = 0,
targetY = 0,
x = 10,
y = 10,
velX = 0,
velY = 0,
speed = 2;
function update(){
var tx = targetX - x,
ty = targetY - y,
dist = Math.sqrt(tx*tx+ty*ty),
rad = Math.atan2(ty,tx),
angle = rad/Math.PI * 180;
velX = (tx/dist)*speed,
velY = (ty/dist)*speed;
x += velX
y += velY
ctx.clearRect(0,0,500,500);
ctx.beginPath();
ctx.arc(x,y,5,0,Math.PI*2);
ctx.fill();
setTimeout(update,10);
}
update();
canvas.addEventListener("mousemove", function(e){
targetX = e.pageX;
targetY = e.pageY;
});