我在SKNode *_fgLayer
上有一个带有动态物理主体的SKSpriteNode。
现在,当我暂停或取消暂停游戏时,我希望SKSpriteNode保持原位而不是旋转或跌落。如果我只使用_fgLayer.paused = YES;
,则SKSpriteNode不会保留在原位,而是会旋转并降低。如果我在暂停时设置physicsBody.dynamic = NO;
,则在取消暂停时设置physicsBody.dynamic = YES;
则可以正常工作。
但是,经过几次尝试后,我总是遇到以下崩溃:
"Assertion failed: (typeA == b2_dynamicBody || typeB == b2_dynamicBody), function SolveTOI, file /SourceCache/PhysicsKit/PhysicsKit-4.6/PhysicsKit/Box2D/Dynamics/b2World.cpp, line 670."
所以,我想设置一个physicsBody.dynamic = NO;
并返回不起作用。
有没有人知道
如何在游戏暂停时暂停动态物理机构保持原位?
答案 0 :(得分:21)
答案 1 :(得分:3)
设置scene.view.paused = YES对我有用 - 特别是当子节点上有动作运行时。
self.scene.view setPaused:YES