2

我正在尝试使用包含物理的 SpriteKit 制作具有完全 IOS 7 功能的游戏。因此,当用户点击屏幕时,我将球扔过其他一些球(这些球没有移动,我dynamic=NO为这些目标球设置)。我想做的是:

  • 立即停止球(我正在使用resting=YES这个)
  • 将 categoryBitMask 和 contactTestBit 掩码从投掷球切换到目标球的类别/contactBitMask
  • 停止这个球的动力。

一切都很好,除了一件事,当我在dynamic=NO里面设置didBeginContact(甚至任何其他函数,如updateor didSimulatePhysics)时出现以下错误:

断言失败:(typeA == b2_dynamicBody || typeB == b2_dynamicBody),函数 SolveTOI,文件 /SourceCache/PhysicsKit_Sim/PhysicsKit-4.6/PhysicsKit/Box2D/Dynamics/b2World.cpp,第 670 行。

好吧,我明白了原因,因为关于物理的计算仍在继续,但不知何故我必须设置它。

那么如何在碰撞/接触后以编程方式停止动力学?

4

0 回答 0