从 SKS 文件加载节点时使用的初始化程序
Initializer used when loading nodes from SKS file
我正在创建 SKSpriteNode
的子class,例如Player
并在我的 *.sks 文件中使用自定义 class Player
标记 SKSpriteNode
。在 *.swift 中,我使用 self.childNode(withName: "myNodesName")
加载节点。嗯,这很好用,但我还想修改用于此过程的构造函数。
如果我使用
从其 *.sks 访问我的 *.swift 文件中的 SKSpriteNode
,则使用哪个构造函数 SKSpriteNode
self.childNode(withName: "myNodesName") as? Player
?
调用什么构造函数?
当从 sks 文件创建节点时,SpriteKit 会使用这个初始化器
init?(coder aDecoder: NSCoder)
如何将其应用到 Player 中?
您有一个玩家class。你可以这样实现构造函数
class Player: SKSpriteNode {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
我正在创建 SKSpriteNode
的子class,例如Player
并在我的 *.sks 文件中使用自定义 class Player
标记 SKSpriteNode
。在 *.swift 中,我使用 self.childNode(withName: "myNodesName")
加载节点。嗯,这很好用,但我还想修改用于此过程的构造函数。
如果我使用
从其 *.sks 访问我的 *.swift 文件中的SKSpriteNode
,则使用哪个构造函数 SKSpriteNode
self.childNode(withName: "myNodesName") as? Player
?
调用什么构造函数?
当从 sks 文件创建节点时,SpriteKit 会使用这个初始化器
init?(coder aDecoder: NSCoder)
如何将其应用到 Player 中?
您有一个玩家class。你可以这样实现构造函数
class Player: SKSpriteNode {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}