【发布时间】:2011-07-07 15:23:19
【问题描述】:
我是第一次在 iPhone 上使用 BOX2D。总的来说,它非常好,但是每当我创建一个包含静态和动态物体的场景时,我都会在 ContactManager 中不断地得到一个断言。确切的行是...
b2Assert(bodyA->m_type == b2_dynamicBody || bodyB->m_type == b2_dynamicBody);
在 void b2ContactManager::Collide() 中。这似乎表明当两个对象发生碰撞时它会断言,其中一个对象不是动态的……这根本没有意义。当然,动态物体应该与静态物体碰撞!
在我奇怪地创建静态对象之前,它不会在这条线上断言。我有大量的动态框在屏幕上移动。一旦我引入一个静态的,我就会在这里崩溃。
谁能帮帮我?这似乎是那些“非常明显”类型的问题之一!
【问题讨论】:
-
如果您的静态主体是在现有动态主体之上创建的,则会发生这种情况,但我不明白为什么它需要成为断言。你知道这是哪个版本的 Box2D 吗?在当前版本中,这不是一个断言,如果两个主体都不是动态的,它就什么也不做。