Swift edgeLoopF​​orRect物理体没有正确获取categoryBitMask

时间:2015-04-16 14:46:52

标签: ios swift sprite-kit

我有一个edgeLoopForRect的正文,我给它categoryBitMask,但是当我调试对象时categoryBitMask self.physicsBody?.categoryBitMask = 1 self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame) 不同我分配了它......

453453

当我调试它显示为{{1}}而不是``

1 个答案:

答案 0 :(得分:0)

您不能将物理实体分配给自己。您必须先创建一个节点,然后为其物理主体指定一个类别位掩码。

IE:

let edge = SKNode()

edge.phisicsbody = SKPhisicsbody(edgeloopfromrect: frame)
edge.physicsbody!.restitution = 0 
edge.physicsbody!.friction = 0 
edge.physicsbody!.angularDamping = 1
edge.physicsbody!.dynamic = false
edge.physicsbody!.categotyBitMask = 2
edge.physicsbody!.collisionBitMask = 1 //The category bit mask of the object you want it to collide with I used 1 as example

addChild(edge)

如果您遵循此示例,请记住对要与边缘发生碰撞的节点执行相同的过程,并使碰撞位掩码为2。

希望这有助于交配。