更改SKNode的alpha值无效吗?

时间:2019-07-15 20:38:39

标签: ios swift sprite-kit skspritenode sknode

我正在制作一个应用程序,向用户显示可能的三种飞镖组合以结束游戏(通常称为“结帐”)。我还想突出显示飞镖板上的飞镖位置。我有一个SKNode,其中包含几个SKSPriteNodes,它们构成了板上突出显示的区域。我希望能够移动和旋转该SKNode,以将其定位在该特定飞镖板上的正确位置上,并在不使用它时将其隐藏。我试图简单地更改SKNode的alpha以隐藏/显示突出显示的区域,但是当我更改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。但是该节点仍然可见吗?

enter image description here enter image description here

有人可以告诉我为什么会这样吗

1 个答案:

答案 0 :(得分:1)

您可以使用sknode属性isHidden而不是将其更改为alpha

let wantedNode: SKNode = SKNode()
wantedNode.isHidden = true
相关问题