javascript - 在跟踪鼠标位置的同时编写旋转的嘎嘎声
问题描述
我想要的嘎嘎作响的动画与这里的剪辑非常相似(但没有一点结束):https ://www.youtube.com/watch?v=fmvS4mzWUkQ
我打算将函数绑定到click()
我的图片,但是如果可能的话,我很难弄清楚如何用 JS 甚至纯 CSS 来制作动画(如果有更好的工具,请告诉我).. .
我的想法是它看起来像:
function rattleHead() {
$("#woodsprite-head").css("transform", "rotate(" + (baseAngle + 45) + "deg)");
$("#woodsprite-head").css("transform", "rotate(" + (baseAngle - 35) + "deg)");
$("#woodsprite-head").css("transform", "rotate(" + (baseAngle + 20) + "deg)");
$("#woodsprite-head").css("transform", "rotate(" + (baseAngle - 5) + "deg)");
$("#woodsprite-head").css("transform", "rotate(" + (baseAngle + 0) + "deg)");
};
只是为了另一层复杂性,此图像当前已经在积极旋转以跟随屏幕上的鼠标移动(我们将其称为上面的 baseAngle)。那么,我是否需要在我的 rattle() 执行时停止 tracking() 函数?
最后,我觉得上面的代码只是跳转到每个角度帧,而不是以动画风格从一个角度旋转到下一个角度。是否有可能以某种方式合并它?
解决方案
为了回答你的第二个问题,CSS 内置了对动画的支持——它被称为过渡。您只需要一种样式,例如:
<style>
#woodsprite-head {
transition: 30ms linear all;
}
</style>
当然,您可以从 300 毫秒开始,以便更容易看到平滑过渡,但对于嘎嘎声效果,您会希望过渡相当快。
推荐阅读
- c# - 如何在我的 SSIS 包中声明一个返回另一个变量的切片字符串的 C# 变量?
- swift - 如何以编程方式将自定义 NSToolbarItem 添加到现有工具栏
- node.js - 在 electron.js npm start 命令不起作用。它说电子不能识别为内部或外部命令
- python - 枚举 DataFrame 中的分类数据集群
- ios - 如何在不使用应用组的情况下在两个应用之间进行通信?
- json - 如何使用 excel vba 修复和提取 google CSE JSON API 结果
- go - 列出在 Go 中实现接口的所有类型
- c# - Base-64 数组的长度无效
- php - 增加 json 列 Laravel 中的 json 属性
- python - 如何显示测试样本的决策树路径?