【发布时间】:2012-01-04 04:10:07
【问题描述】:
有时,当动态体移动和碰撞静态体时,动态卡住并停止。
http://imageshack.us/photo/my-images/14/screenfgz.png/(上下线是传感器,中心形状是身体)
用于移动使用过的 mouseJoint->SetTarget(pos);
设置: 世界
b2Vec2 gravity = b2Vec2(0.f, 0.f);
bool doSleep = true;
world = new b2World(gravity, doSleep);
world->SetContinuousPhysics(false); // when using true, dynamic tunneling through other bodies
动态身体
...
density = 1.f;
friction = 0.f;
restitution = 0.f;
...
body->SetBullet(true);
body->SetFixedRotation(true);
鼠标连接
b2Vec2 locationWorld = b2Vec2(pos.x/PTM_RATIO,pos.y/PTM_RATIO);
b2MouseJointDef md;
md.bodyA = groundBody;
md.bodyB = body;
md.target = body->GetPosition();
md.collideConnected = true;
md.maxForce = 1000 * body->GetMass();
md.dampingRatio = 0.1f;
md.frequencyHz = 2.f;
mouseJoint = (b2MouseJoint *)world->CreateJoint(&md);
动态和静态实体都是矩形。旋转 = 0。
如何去除粘连?
【问题讨论】:
标签: iphone objective-c box2d