javascript - 根据鼠标位置旋转 div
问题描述
我正在开发一个 javascript 游戏,您可以根据鼠标的位置驾驶汽车(因此它会向您的鼠标移动)。
但现在它只是一个跟随鼠标的矩形。我希望它向鼠标旋转,(例如,如果您有一个 100px 宽和 50px 高的矩形,左侧为白色,右侧为黑色,则黑色侧应始终面向光标)。
我尝试为鼠标的某些位置制作 if 语句,但经过一个小时的编程,我发现这将需要数周的时间。有人知道更好和/或更简单的方法吗?
解决方案
您可以使用transform: rotate(angle)
. 并使用atan2计算角度
const mousePos = { x: 10, y: 10 }
const carPos = { x: 30, y: 20 }
const vector = { x: mousePos.x - carPos.x, y: mousePos.y - carPos.y }
const angle = Math.atan2(vector.y, vector.x) * 180 / Math.PI;
也许你需要增加 90 度或类似的东西。未经测试。
推荐阅读
- python - 使用包含索引列表python的变量检索列表元素
- pandas - 具有特定条件的 pandas DataFrame 中的加权平均值
- r - 当R中有多个值选项时,在每个ID中重复一个值
- python - 在 ItemSelectedChanged() 上获取当前项目 QListWidget
- automation - 是否可以通过某些脚本从交易页面获取数据?
- python - 如果这是可取的,那么在其中一个组件内访问类组合的正确方法是什么?
- sql - 将 Unicode/UTF-8 值转换为阿拉伯文本 | SQL 服务器
- c - C共享内存现有标志?
- c# - YamlDotNet 根据值更改属性名称
- laravel - 变化没有反映在 Vue Js 中