Google gravity 和 gravity script 是两个很好的演示。但没有可用的源代码或教程。并且原始的 JS 文件非常大。如何在某个元素上通过拖放(特别是“可 抛出”和“ 可旋转”,如谷歌重力)创建重力效果?
原文由 Towhid 发布,翻译遵循 CC BY-SA 4.0 许可协议
Google gravity 和 gravity script 是两个很好的演示。但没有可用的源代码或教程。并且原始的 JS 文件非常大。如何在某个元素上通过拖放(特别是“可 抛出”和“ 可旋转”,如谷歌重力)创建重力效果?
原文由 Towhid 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 github 上看这个 jquery 插件 JQuery.throwable 只需执行 $("Selector").throwable()
对象将处于重力之下
原文由 benahm 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
您需要从一个物理引擎开始,Google Gravity 使用的引擎是 Box2Djs ,它是 Box2D 的 javascript 端口。您可以阅读 Box2D 的手册以了解如何使用它,尽管手册本身指出如果不了解一些刚体物理知识(力、冲量、扭矩等),您将不知道自己在做什么,尽管这些示例可能帮助您入门。
如果您想自己编写物理引擎,您至少必须实施 2D 刚体动力学和碰撞检测,才能使其看起来像您提供的示例。这样做的教程将被称为计算机模拟课程,并且我先决条件是线性代数和物理学,这不是一项微不足道的任务。
之后,您将必须学习 javascript 动画技术。我建议了解
window.requestAnimationFrame
。使用setInterval(stepFunction, time)
会起作用,但它不会像在现代浏览器中那样高效。