美文网首页
SpriteKit中的碰撞检测physicsBody

SpriteKit中的碰撞检测physicsBody

作者: wg689 | 来源:发表于2020-02-12 11:03 被阅读0次
     //Adding SpriteKit physicsBody for collision detection
        missile.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:missile.size];
        missile.physicsBody.categoryBitMask = obstacleCategory;
        missile.physicsBody.dynamic = YES;
        missile.physicsBody.contactTestBitMask = shipCategory;
        missile.physicsBody.collisionBitMask = 0;
        missile.physicsBody.usesPreciseCollisionDetection = YES;
        missile.name = @"missile";
    
    

    碰撞相关的解释如下

    bird.physicsBody?.allowsRotation = false  //禁止旋转
    
    bird.physicsBody?.categoryBitMask = birdCategory //设置小鸟物理体标示
    
    bird.physicsBody?.contactTestBitMask = floorCategory | pipeCategory  //设置可以小鸟碰撞检测的物理体
    
    CollisionBitmask:确定两个物体是否允许碰撞
    如果希望A和B允许碰撞,则
    A的CategoryBitmask与B的CollisionBitmask与运算结果为0
    B的CategoryBitmask与A的CollisionBitmask与运算结果为0
    否则A和B就不允许碰撞,接触后直接弹开
    
    如果希望A和B发生碰撞检测,即调用onContactBegin,则
    A的CategoryBitmask与B的ContactTestBitmask与运算结果不为0
    B的CategoryBitmask与A的ContactTestBitmask与运算结果不为0
    
    usesPreciseCollisionDetection一个布尔值,确定物理世界使用一个迭代的碰撞检测算法。
    
    收缩.gif entrance.gif entracenImage.png

    相关文章

      网友评论

          本文标题:SpriteKit中的碰撞检测physicsBody

          本文链接:https://www.haomeiwen.com/subject/vumqfhtx.html