先上段关键代码:
1 var s1 = new p2.LinearSpring(holderBody, circleBody, { 2 localAnchorA: [0, 0], 3 localAnchorB: [0, 0], 4 stiffness: 100, 5 damping: 1, 6 restLength: 1.5 7 }); 8 world.addSpring(s1);
效果图:
这里localAnchorA, localAnchorB的概念仍旧是相对于各自物体内的坐标,当为[0,0]的时候,代表本物体中心点。缺省情况下,这个坐标为物体中心。此坐标即表示弹簧的一端钩在物体的什么位置上。
stiffness代表弹簧的强度。缺省情况下,为100。把stiffness:1000看下效果,再拉动球,会发现球来回变得很快了,即意味着弹簧的强度更高了。
damping,即弹簧的阻力。缺省情况下,为1。当把弹簧拉伸了之后,弹簧进行收缩动作所要受到的阻力,就由这个属性控制。
restLength,字面理解,即弹簧放松时的自然伸展长度。Default is the current distance between the world anchor points,默认的长度为两锚点之间的距离。
练习的源码地址:https://gist.github.com/yxzblue/3a66babfb93b889f0833#file-linearspring-html
p2.js v0.6.0 的压缩包,链接:http://pan.baidu.com/s/1mgsW7xA 密码:bj85
p2.js 的Github地址:https://github.com/schteppe/p2.js
时间: 2024-10-10 18:29:56