PhysicsJS是一个基于JavaScript、模块化、可扩展、易于使用的物理引擎。
PhysicsJS的主要特性如下:
- AMD(Asynchronous Module
Definition,异步模块定义):使用AMD模块(如requireJS)或全局命名变量 - 模块化:只加载你所需要的库,核心库压缩后只有31K
- 可扩展性:如果你不喜欢物理碰撞算法,可以更换为其他的
- 不依赖于特定的渲染器:可以用DOM、HTML5 Canvas以及其他方式来显示效果
- 简单易用
- 支持点、圆、任意多边形等形状的物理运动
- 支持重力常数、牛顿引力、碰撞、Verlet约束等。
PhysicsJS网站也给出了一些简单但精彩的演示,其中包括弹跳、碰撞、物体掉落、布料、树等效果,并可以通过点击示例名称后面的code链接来查看该示例的实现代码。
目前PhysicsJS仍在开发中(0.5.1
alpha版本),文档还不太完善。如果感兴趣的话,你可以通过这个链接来了解如何参与贡献。