【发布时间】:2017-03-21 05:17:44
【问题描述】:
我正在尝试使用 HTML 画布和常规 javascript 将对象从 A 点平滑地移动到 B 点。
点 A 是一组坐标
B点是在这种情况下的光标位置。
我对我目前所拥有的东西做了一个 jsfiddle:https://jsfiddle.net/as9fhmw8/
while(projectile.mouseX > projectile.x && projectile.mouseY < projectile.y)
{
ctx.save();
ctx.beginPath();
ctx.translate(projectile.x, projectile.y);
ctx.arc(0,0,5,0,2*Math.PI);
ctx.fillStyle = "blue";
ctx.fill();
ctx.stroke();
ctx.restore();
if(projectile.mouseX > projectile.x && projectile.mouseY < projectile.y)
{
var stepsize = (projectile.mouseX - projectile.x) / (projectile.y - projectile.mouseY);
projectile.x += (stepsize + 1);
}
if(projectile.mouseY < projectile.y)
{
var stepsize = (projectile.y - projectile.mouseY) / (projectile.mouseX - projectile.x);
projectile.y -= (stepsize + 1);
}
}
基本上我想不出要做的就是让 while 循环变慢(这样它就显得动画了,而不是只经历每次迭代并显示结果)。
我也不知道如何防止 Arc 复制,以便它创建一条永久的线,而不是看起来从 a 点移动到 b 点。
【问题讨论】:
标签: javascript html animation canvas