【发布时间】:2017-06-06 01:36:51
【问题描述】:
所以 SpriteKit 中有这个类:
open class SKNode : UIResponder, NSCopying, NSCoding, UIFocusItem {
...
open var scene: SKScene? { get }
...
我想在scene 属性不为零时触发一些逻辑。
这是我尝试过的:
class MyNode : SKNode {
override var scene: SKScene? {
didSet {
if scene != nil {
// my custom logic
}
}
}
}
但我收到一个错误:Cannot observe read-only property 'scene'; it can't change,这在理论上是有道理的。
实际上,属性的值确实发生了变化:
let node = SKNode()
print(node.scene?) // nil
scene.addChild(node)
print(node.scene?) // SKScene
我可以使用一些黑魔法吗?
【问题讨论】:
标签: swift sprite-kit