我正在构建一个SpriteKit游戏。游戏场景是其上方透明层的父级,其作用是向玩家显示偶尔的消息。我希望这个层在大多数时间都是透明和惰性的,当然,永远不会接触到。因此,我将isUserInteractionEnabled设置为false。但是,当我稍后将其添加到场景中时,它会阻止它下面的所有触摸。是什么给了什么?
编辑:MessageLayer的父级是游戏场景,游戏场景也有isUserInteractionEnabled = false,所以我不相信MessageLayer继承了这种行为。
这是我的代码:
import Foundation
import SpriteKit
class MessageLayer: SKSpriteNode {
init() {
let size = CGSize(width: screenWidth, height: screenHeight)
super.init(texture: nil, color: UIColor.blue, size: size)
self.isUserInteractionEnabled = false
self.name = "MessageLayer"
alpha = 0.6
zPosition = +200
}
override init(texture: SKTexture!, color: UIColor, size: CGSize)
{
super.init(texture: texture, color: color, size: size)
}
required init(coder aDecoder: NSCoder) {
super.init(texture: nil, color: UIColor.clear, size: CGSize(width: 100, height: 100))
}
// MARK: - Functions
func alphaUp() {
alpha = 0.6
}
func alphaDown() {
alpha = 0.0
}
}
答案 0 :(得分:0)