添加框阴影错误 - 无法点击我的按钮 - SpriteKit
Posted
技术标签:
【中文标题】添加框阴影错误 - 无法点击我的按钮 - SpriteKit【英文标题】:Adding a box shadow error - Cant tap on my button - SpriteKit 【发布时间】:2018-08-11 19:25:33 【问题描述】:我正在尝试制作一个带有漂亮柔光箱阴影的按钮,使其看起来有点 3d。
我有一个导入的普通按钮和SKSpriteNode
上的扩展名
当我单击按钮时,它会转到我的下一个场景 (GameScene)。虽然,当我应用这个“发光”时,它会显示出来,尽管现在无法再按下按钮。
let playBtn = SKSpriteNode(imageNamed: "play-btn")
playBtn.name = "play-btn"
playBtn.addGlow()
playBtn.position = CGPoint(x: frame.midX, y: frame.midY + 70)
addChild(playBtn)
extension SKSpriteNode
func addGlow(radius: Float = 10 )
let effectNode = SKEffectNode()
effectNode.shouldRasterize = true
addChild(effectNode)
effectNode.addChild(SKSpriteNode(texture: texture))
effectNode.filter = CIFilter(name: "CIGaussianBlur", withInputParameters: ["inputRadius":radius])
【问题讨论】:
【参考方案1】:效果可能位于按钮顶部,阻止您访问它。尝试设置 zPosition(对象的分层)
let playBtn = SKSpriteNode(imageNamed: "play-btn")
playBtn.name = "play-btn"
playBtn.addGlow()
playBtn.position = CGPoint(x: frame.midX, y: frame.midY + 70)
playBtn.zPosition = 1
addChild(playBtn)
extension SKSpriteNode
func addGlow(radius: Float = 10 )
let effectNode = SKEffectNode()
effectNode.shouldRasterize = true
effectNode.zPosition = -1
addChild(effectNode)
effectNode.addChild(SKSpriteNode(texture: texture))
effectNode.filter = CIFilter(name: "CIGaussianBlur", withInputParameters: ["inputRadius":radius])
【讨论】:
以上是关于添加框阴影错误 - 无法点击我的按钮 - SpriteKit的主要内容,如果未能解决你的问题,请参考以下文章