P2.JS之线性弹簧(LinearSpring)备忘

先上段关键代码:

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

P2.JS之线性弹簧(LinearSpring)备忘的相关文章

P2.JS之距离约束(DistanceConstraint)备忘

关键代码: 1 //以下是地面和墙壁的代码 2 //下 3 var body = new p2.Body({ mass: 0, position: [0, -5]}); 4 var shape = new p2.Plane(); 5 body.addShape(shape); 6 world.addBody(body); 7 8 //右 9 body = new p2.Body({ angle: Math.PI / 2, mass: 0, position: [10, 0]}); 10 body

P2.JS之旋转约束(RevoluteConstraint)备忘

作用:物体可以绕着所设置的锚点作旋转运动.用途:车轮. 先上段代码: 1 var r1 = new p2.RevoluteConstraint (holderBody, circleBody, { 2 worldPivot : [0, 5] 3 //localPivotA: [1, -1], 4 //localPivotB: [0, 0] 5 }); 6 r1.enableMotor() ; 7 r1.setMotorSpeed( 5); 8 world.addConstraint(r1) ;

P2.JS之移动约束(PrismaticConstraint)备忘

PrismaticConstraint,叫做活塞约束比较好理解,因为,被它约束的物体只能在单一方向作运动. 先上段关键代码: 1 var p1 = new p2.PrismaticConstraint (holderBody, circleBody, { 2 localAnchorA : [1, -0.5] , 3 localAnchorB : [0, 0], 4 localAxisA : [0, 1], 5 disableRotationalLock : false 6 }); 7 p1.se

Tomcat JS资源压缩配置修改(备忘)

server.xml 修改前: <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="400" acceptCount="200" redirectPort="8443" URIEncoding=&q

P2.JS之触碰材质(ContactMaterial)备忘

关键代码: 1 boxShape.material = new p2.Material(); 2 platformShape.material = new p2.Material(); 3 4 var material = new p2.ContactMaterial(boxShape.material, platformShape.material, { 5 surfaceVelocity: -50, 6 restitution: 0.5, 7 friction: 0.3, 8 stiffne

ajax调用本页js【备忘】

备忘

Express模版引擎hbs备忘

最近几天折腾了下express,想找个合适的模版引擎,下面是一些折腾过程的备忘 选择标准 选择一门模版语言时,可能会考虑的几点 语法友好(micro tmpl那种语法真是够了) 支持模版嵌套(子模版的概念) 支持模版继承(extend) 前后端共用 有容错处理(最好定位到具体出错位置) 支持预编译(性能好) 注意到hbs,似乎满足大部分的需求:https://github.com/donpark/hbs getting started demo地址:https://github.com/chyi

移动端开发备忘

这是一些移动端开发的备忘记录. <meta> 元素 <meta name=“viewport” content=“width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no”/> width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素) height:高度(数值 / device-height)(范围从223 到10,000) initial-s

备忘之类中的static成员的访问方式

原文地址:http://leihuang.net/2014/05/19/List-Interviews/ 单链表的一些常见面试题汇总 单链表反转/逆序 求单链表倒数第N个数 找到单链表的中间结点 如何判断链表是否有环的存在 单链表建环,无环链表变有环 如何知道环的长度? 如何找出环的连接点在哪里? 删除单链表中的重复元素 下面我先简单叙述一下每道题的思路,然后把实现的程序一起贴出来,不会讲得太细,我觉得只要有了思路之后,接下来的难点就是语言上的一些细节问题了,这个不自己去实现,听别人讲是体会不到