Chipmunk-js是一款用于模拟物理作用力和重力效应的js插件库。这个js库可以模拟很多物理作用力效果,如物体碰撞,物体受力运动,各种弹力,重力,浮力等。

使用方法

在HTML上使用
<script src="cp.min.js"></script>

<script>
var space = new cp.Space();
space.addBody(new cp.Body(...))
// ...
</script>            
              
使用nodejs
npm install chipmunk
cp = require('chipmunk');

var space = new cp.Space();
space.addBody(new cp.Body(...))
// ...                
              

下面的例子插件一个空间每次更新设置10个物理叠加量,然后在空间中添加一组线条:

var space = new cp.Space();
  space.iterations = 10;

  var offset = cp.v(-320, -240);
  for(var i=0; i<(bouncy_terrain_verts.length - 1); i++){
    var a = bouncy_terrain_verts[i], b = bouncy_terrain_verts[i+1];
    var shape = space.addShape(new cp.SegmentShape(space.staticBody, cp.vadd(a, offset), cp.vadd(b, offset), 0));
    shape.setElasticity(1);
  }                
              

小球受重力下落

积木下落于小球碰撞

积木受外力作用倒塌

更多详细信息请参考:https://github.com/josephg/Chipmunk-js