didBegin联系方式 - body&身体和接触,如果其中一个击中另一个类别

时间:2014-05-21 07:14:35

标签: sprite-kit skphysicsbody

这是交易,我有篮子,苹果和橘子身体。 我们打算将它们放入篮子里。

我也想知道篮子里存在Apple,所以我继续添加一个didEndContact方法。

让我们假设苹果已经在篮子里了。 现在我把橘子放在篮子里,一切正常,直到橘子击中苹果和篮子表面。

当橘子坐在篮子里时,橘子会碰到苹果,苹果类别会与篮子类别接触,因此我们得到了球,因为我们得到了球。 bodyA成为橙色类别,bodyB成为篮子类别

如何让Apple类与所有连接的机构保持联系?

didBeginContact code

if (bodyA == appleCategory && bodyB == basketCategory) {
appleInTheBasket= YES;
}

if (bodyA == orangeCategory && bodyB == basketCategory) {
orangeInTheBasket = true;
}

didEndContact code

if (bodyA == appleCategory && bodyB == basketCategory) {
appleInTheBasket = NO;
}

1 个答案:

答案 0 :(得分:1)

您可以使用allContactedBodies的{​​{1}}属性,而不是使用联系人委托。

所以,使用

SKPhysicsBody

将返回当前与购物篮接触的所有basket.physicsBody.allContactedBodies 个对象的NSArray

您可以在SKPhysicsBody方法中使用此属性来监控购物篮。