从 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)
    }
}