我有一个具有动态物理体的节点。我想让它静止并在与另一个物体接触时改变它的位置。
我设法使用此问题中提供的解决方案使主体静态:Sprite Kit 断言失败:(typeA == b2_dynamicBody || typeB == b2_dynamicBody) https://stackoverflow.com/questions/20462295
但是如果我改变position
联系回调方法之一中节点的属性(例如didBeginContact
) 不考虑新位置。
我怎样才能做到这一点?
我相信这是 SpriteKit 中的一个错误。 (我能够使用 SpriteKit 7.1 重现这个问题)。
这是一个快速解决方法:
- (void) didBeginContact:(SKPhysicsContact *)contact
{
contact.bodyB.node.position = CGPointMake(newX, newY);
contact.bodyB.node.physicsBody = contact.bodyB.node.physicsBody; // <-- Add this line
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)