改变 SKNode 的 alpha 没有效果?
Posted
技术标签:
【中文标题】改变 SKNode 的 alpha 没有效果?【英文标题】:Changing SKNode's alpha has no effect? 【发布时间】:2019-07-15 20:38:39 【问题描述】:我正在制作一个应用程序,向用户展示可能的三种飞镖组合来结束“通常称为结帐”的游戏。我还想突出显示飞镖板上的飞镖位置。我有一个 SKNode,其中包含几个 SKSPriteNodes,这些 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。但是节点还是可见的?
谁能告诉我为什么会这样
【问题讨论】:
【参考方案1】:您可以使用 sknode 属性 isHidden 而不是将其更改为 alpha
let wantedNode: SKNode = SKNode()
wantedNode.isHidden = true
【讨论】:
感谢您的帮助,我尝试过也没有成功,但我能够解开这个谜团。我从来没有在我的 ViewController 中呈现场景。为什么它会出现仍然是一个谜,但问题仍然解决了。再次感谢以上是关于改变 SKNode 的 alpha 没有效果?的主要内容,如果未能解决你的问题,请参考以下文章