更改 SKNode 的 alpha 没有效果?

Changing SKNode's alpha has no effect?

我正在制作一个应用程序,向用户显示结束游戏的三种可能的飞镖组合 "commonly known as checkouts"。我还想突出飞镖板上的飞镖位置。我有一个 SKNode,其中包含几个构成板上突出显示区域的 SKSPriteNode。我希望能够移动和旋转该 SKNode 以将其定位在该特定飞镖板上的正确位置上,并在不使用时将其隐藏。我试图简单地将 SKNode 的 alpha 更改为 hide/show 突出显示的区域,但是当我更改 SKNode 的 alpha 时什么也不做(即.. alpha 设置为 0 但它仍在显示)。

func setupGameScene() {
    if let GameScene = SKScene(fileNamed: "DartBoard.sks") {
        gameScene = GameScene
    } else {
        print("gamescene not found")
    }

    if let BackGround = gameScene.childNode(withName: "BackGround") {
        backGround = BackGround as? SKSpriteNode
    } else {
        print("background not found")
    }

    if let DartBoard = backGround.childNode(withName: "DartBoard") as? SKSpriteNode {
        dartBoard = DartBoard
        dartBoard.isHidden = true
    } else {
        print("dartboard not found")
    }

    if let SingleLocation = dartBoard.childNode(withName: "SingleLocation") {
        singleLocation = SingleLocation
        print("SingleLocation found")
        singleLocation.alpha = 0
        print(singleLocation.alpha)
    } else {
        print("Single Location not found")
    }

这段代码工作正常,我能够打印 "singleLocation" 的 alpha,它显示它是 0.0。但是节点仍然可见?

谁能告诉我为什么会这样

您可以使用 sknode 属性 isHidden 而不是更改它 alpha

let wantedNode: SKNode = SKNode()
wantedNode.isHidden = true