这是交易,我有篮子,苹果和橘子身体。 我们打算将它们放入篮子里。
我也想知道篮子里存在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;
}
答案 0 :(得分:1)
您可以使用allContactedBodies
的{{1}}属性,而不是使用联系人委托。
所以,使用
SKPhysicsBody
将返回当前与购物篮接触的所有basket.physicsBody.allContactedBodies
个对象的NSArray
。
您可以在SKPhysicsBody
方法中使用此属性来监控购物篮。