我的小提琴:http://jsfiddle.net/H8e9m/11/
正如你所看到的,当球到达钟摆末端并通过旋转关节与之碰撞时,当试图通过按空格键使球释放钟摆时,就会出现问题。
if (keydown.space) {
var list = physics.world.GetJointList();
if (list.GetBodyB().m_userData.details.name=="End")
physics.world.DestroyJoint(list);
}有人能告诉我如何解决这个问题吗?
发布于 2014-04-11 08:50:15
在创建连接时,您可以这样保存它的引用:
var myJointDef = new b2RevoluteJointDef();
revoluteBall_jointDef.bodyA = ...
... etc
myJoint = world.CreateJoint(jointDef);“myJoint”变量应该是全局的,例如。你可以在这里声明:
var myJoint = null;
$(document).ready(function () {
var b2Vec2 = Box2D.Common.Math.b2Vec2
,b2AABB = Box2D.Collision.b2AABB
... etc然后,您应该能够从您的代码中的任何一点以后销毁联合。
https://stackoverflow.com/questions/22989970
复制相似问题