如何使用 Javascript 创建重力效果?

新手上路,请多包涵

Google gravitygravity script 是两个很好的演示。但没有可用的源代码或教程。并且原始的 JS 文件非常大。如何在某个元素上通过拖放(特别是“可 抛出”和“ 可旋转”,如谷歌重力)创建重力效果?

原文由 Towhid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 588
2 个回答

您需要从一个物理引擎开始,Google Gravity 使用的引擎是 Box2Djs ,它是 Box2D 的 javascript 端口。您可以阅读 Box2D 的手册以了解如何使用它,尽管手册本身指出如果不了解一些刚体物理知识(力、冲量、扭矩等),您将不知道自己在做什么,尽管这些示例可能帮助您入门。

如果您想自己编写物理引擎,您至少必须实施 2D 刚体动力学和碰撞检测,才能使其看起来像您提供的示例。这样做的教程将被称为计算机模拟课程,并且我先决条件是线性代数和物理学,这不是一项微不足道的任务。

之后,您将必须学习 javascript 动画技术。我建议了解 window.requestAnimationFrame 。使用 setInterval(stepFunction, time) 会起作用,但它不会像在现代浏览器中那样高效。

原文由 nwellcome 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 github 上看这个 jquery 插件 JQuery.throwable 只需执行 $("Selector").throwable() 对象将处于重力之下

原文由 benahm 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题