javascript - 跟随时使 Canvas 图像指向鼠标

标签 javascript jquery html canvas trigonometry

我有一个火箭在我的 Canvas 中稍微延迟地跟随鼠标,我希望它在鼠标四处移动时指向鼠标。正如你在我的 fiddle HERE 中看到的那样,我几乎已经明白了。我的问题是旋转与我想要的方向有点相反,而且它很奇怪而且摇摆不定。

我用来让它在我的 Canvas 上这样做的 JS 是:

ctx.save();
                var offsetY = targetToGo.x - shape.y ;
                var offsetX = targetToGo.y - shape.x ;
                var degrees = -Math.atan2(offsetY,offsetX);                     
                    ctx.translate(shape.x, shape.y);

                    ctx.rotate(degrees);

                    ctx.drawImage(shape.image,-shape.image.width/2,-shape.image.width/2);

                    ctx.restore();

是 Canvas 代码还是数学错误?我两样都不好。

最佳答案

换行

var degrees = -Math.atan2(offsetY,offsetX);      

var degrees = Math.atan2(offsetY,-offsetX);

Live Demo

关于javascript - 跟随时使 Canvas 图像指向鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23498434/

相关文章:

javascript - 如何根据facebook评论动态调整div高度

Javascript - 动态转换js包括数组

javascript - 如何从 Javascript 或 Jquery 中的数组中选择随机值?

javascript - 试图在不制作 2 个新列表和附加的情况下编写快速排序算法,无法找出问题所在

javascript - 如何禁止 jquery 函数在一定时间内执行

php - 一个js文件在另一个php文件中的Javascript : calling document. ready()函数

html - 尽管计算了宽度,滑动的容器仍会移动

jquery - 悬停时的宽度很有趣吗?

javascript - 显示数据库中的 Google Chart 未正确显示数据

javascript - 2D HTML canvas 游戏 - 阻止玩家穿过墙壁