Google gravity和gravity script是两个不错的演示。 但是没有可用的源代码或教程。而原始的JS文件非常大。 如何使用Drag& amp;创建重力效果?在特定元素上丢弃(特别是“可以”和“可旋转”,如google gravity)?
答案 0 :(得分:8)
您需要从物理引擎开始,Google Gravity使用的是Box2Djs,它是Box2D的javascript端口。您可以阅读Box2D的手册来学习如何使用它,虽然手册本身表明,如果不了解刚体物理(力,冲量,扭矩等),您将不知道自己在做什么,尽管这些例子可能帮助你开始。
如果你想自己编写物理引擎,你必须至少实现2D刚体动力学和碰撞检测,看起来就像你给出的例子。这样做的教程将被称为计算机模拟课程,并且具有线性代数和物理I先决条件,这不是一项微不足道的任务。
之后,您将不得不学习javascript动画技术。我建议学习window.requestAnimationFrame
。使用setInterval(stepFunction, time)
可以正常工作,但效率不如现代浏览器。
答案 1 :(得分:5)
在github JQuery.throwable上查看这个jquery插件
只做$("Selector").throwable()
,对象将在重力下