GameScene.sks 中具有相同名称的多个节点

mutliple nodes in GameScene.sks with same name

我正在尝试制作一款简单的 2D 平台游戏。我没有导入精灵,而是决定使用 SpriteKit 引擎提供的精灵:在 GameScene.sks 中,我拖放了一个精灵(简单的红色方块),我称之为 "wall"。我复制并粘贴了它,让玩家可以跳上两堵墙。在代码部分,我写了以下几行:

var wall = SKSpriteNode()

然后,在 "didMoveToView" 函数中:

    wall = self.childNodeWithName("wall") as! SKSpriteNode
    wall.physicsBody = SKPhysicsBody(rectangleOfSize: wall.size)
    wall.physicsBody?.affectedByGravity = false
    wall.physicsBody?.dynamic = true
    wall.physicsBody?.allowsRotation = false
    wall.physicsBody?.pinned = true
    wall.physicsBody?.categoryBitMask = physicsCategories.wall
    wall.physicsBody?.contactTestBitMask = physicsCategories.player

因为我在 class ("physicsCategories") 之外创建了一个结构来保存各种类别的位掩码,所以当我检查联系人时它工作得很好:

 //CONTACT
func didBeginContact(contact: SKPhysicsContact) {
    let contactMask = contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask

    switch contactMask {
    case physicsCategories.player | physicsCategories.wall:
        isGrounded = true
    default:
        print("Some other contact")
    }
}

我的问题是这仅适用于名称为 "wall" 的 2 个精灵之一。有没有办法在代码中引用场景中具有相同名称的所有精灵?像标签或 "self.childrenNodesWithName(...)" 之类的东西,我知道它并不存在。 或者我做错了什么? 提前谢谢你。

我的mac没带,这是网上的截图: