Sprite kit didBeginContact-bodyA&;bodyB如果其中一个击中另一个类别,则结束接触

Sprite kit didBeginContact-bodyA&;bodyB如果其中一个击中另一个类别,则结束接触,sprite-kit,skphysicsbody,Sprite Kit,Skphysicsbody,这是交易,我有一个篮子,一个苹果和一个桔子。 我们要把他们扔进篮子里 我还想知道篮子里有没有苹果,所以我继续添加了didEndContact方法 假设苹果已经在篮子里了。 现在我把橘子扔到篮子里,一切正常,直到橘子碰到苹果和篮子的表面 当橘子落在篮子里的时候,一旦橘子击中苹果,苹果类别就结束了与篮子类别的接触,因此我们得到了气球篮子=否。bodyA变成橘子类别,bodyB变成篮子类别 我如何让苹果分类与所有相关机构保持联系 didBeginContact代码 if (bodyA == apple

这是交易,我有一个篮子,一个苹果和一个桔子。 我们要把他们扔进篮子里

我还想知道篮子里有没有苹果,所以我继续添加了didEndContact方法

假设苹果已经在篮子里了。 现在我把橘子扔到篮子里,一切正常,直到橘子碰到苹果和篮子的表面

当橘子落在篮子里的时候,一旦橘子击中苹果,苹果类别就结束了与篮子类别的接触,因此我们得到了气球篮子=否。bodyA变成橘子类别,bodyB变成篮子类别

我如何让苹果分类与所有相关机构保持联系

didBeginContact代码

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

if (bodyA == orangeCategory && bodyB == basketCategory) {
orangeInTheBasket = true;
}
if (bodyA == appleCategory && bodyB == basketCategory) {
appleInTheBasket = NO;
}
双端接触码

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

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

您可以使用
SKPhysicsBody
allcontactedbody
属性,而不是为此使用联系人代理

所以,使用

basket.physicsBody.allContactedBodies
将返回当前与篮子接触的所有
SKPhysicsBody
对象的
NSArray


您可以在
-update:
方法中使用此属性来监视篮。

您知道如何正确使用NSArray吗?如果使用以下
NSArray*tempArray=[yourNode.physicsBody allcontactedbody];对于(tempArray中的SKNode*对象){if([object.name IsequalString:@“theBall”])NSLog(@“foundtheball”);}