Sprite kit 如何通过Spritekit连接锚?

Sprite kit 如何通过Spritekit连接锚?,sprite-kit,skphysicsjoint,Sprite Kit,Skphysicsjoint,我有一棵树,它是由一系列的关节构成的。锚是树的底部/树桩。我的英雄目前无法穿过锚。设置collisionBitMask=0不适用于锚点,但该方法适用于各个关节分段 所以,本质上我只是想避免这种碰撞。代码如下: //锚码 let chunkHolder = SKSpriteNode(imageNamed: ImageName.ChunkHolder) chunkHolder.position = anchorPoint chunkHolder.physicsBody = SKPhysicsBod

我有一棵树,它是由一系列的关节构成的。锚是树的底部/树桩。我的英雄目前无法穿过锚。设置collisionBitMask=0不适用于锚点,但该方法适用于各个关节分段

所以,本质上我只是想避免这种碰撞。代码如下:

//锚码

let chunkHolder = SKSpriteNode(imageNamed: ImageName.ChunkHolder)
chunkHolder.position = anchorPoint

chunkHolder.physicsBody = SKPhysicsBody(circleOfRadius: chunkHolder.size.width / 2)
chunkHolder.physicsBody?.isDynamic = false
chunkHolder.physicsBody?.categoryBitMask = PhysicsCategory.chunkAnchor.rawValue
chunkHolder.physicsBody?.collisionBitMask = 0

addChild(chunkHolder)
//英雄正确通过的各个树段:

for i in 0..<length {
    let treeSegment = SKSpriteNode(imageNamed: ImageName.ChunkTexture)
    let offset = treeSegment.size.height * CGFloat(i + 1)
    treeSegment.position = CGPoint(x: anchorPoint.x, y: anchorPoint.y - offset)
    treeSegment.name = "tree" + String(i)

    treeSegments.append(treeSegment)
    addChild(treeSegment)

    treeSegment.physicsBody = SKPhysicsBody(rectangleOf: treeSegment.size)
    treeSegment.physicsBody?.collisionBitMask = 0  
}

另外,将英雄的碰撞位掩码设置为0目前也没有帮助,因为这样英雄也会从地面/地板上坠落

这通过将categoryBitMask设置为0来解决

chunkHolder.physicsBody?.categoryBitMask = 0
chunkHolder.physicsBody?.collisionBitMask = 0

这可以通过将categoryBitMask设置为0来解决

chunkHolder.physicsBody?.categoryBitMask = 0
chunkHolder.physicsBody?.collisionBitMask = 0

我仍然希望禁用碰撞,但一个方便的技巧是将物理实体大小设置为1。英雄只是很好地走过它。我仍然想禁用碰撞,但一个方便的技巧是将物理体大小设置为1。英雄只是很好地走过它。
chunkHolder.physicsBody?.categoryBitMask = 0
chunkHolder.physicsBody?.collisionBitMask = 0