How do I correctly use allContactedBodies?

前端 未结 3 765
梦毁少年i
梦毁少年i 2021-01-20 19:39

I want to use allContactedBodies instead of didBeginContact & didEndContact.

When I do :

NSLog(@\"%@\", node.physicsBody.allContactedBodies );
<         


        
3条回答
  •  臣服心动
    2021-01-20 19:57

    If you read the SKPhysicsBody Class Reference, you should have seen the format for this command.

    - (NSArray *)allContactedBodies
    

    The return value is:

    An array of SKPhysicsBody objects that this body is in contact with.

    Having said that, you would use this code to accomplish what you are asking:

    NSArray *tempArray = [yourNode.physicsBody allContactedBodies];
    for(SKNode *object in tempArray)
    {
        if([object.name isEqualToString:@"theBall"])
            NSLog(@"found the ball");
    }
    

    FYI - You will have to run this code in the update: method. This means your app will spend precious processing time every single frame checking for a contact. It would make much more sense to stick with the didBeginContact: instead.

提交回复
热议问题