Ios 如何在继承SKSpritenode的类中创建映像

Ios 如何在继承SKSpritenode的类中创建映像,ios,class,sprite-kit,swift4,skspritenode,Ios,Class,Sprite Kit,Swift4,Skspritenode,我可以像这样创建一个SKSpriteNode类的实例 let dog = SKSpriteNode(imageNamed: "Dog01") 但是,如果我想创建一个从SKSpriteNode继承的自定义类,我该怎么做呢 例如 看起来很简单,但我不知道怎么做 我找到了实现这一点的方法: init() { let texture = SKTexture(imageNamed: "Dog") super.init(texture: texture, color: UIColor.

我可以像这样创建一个SKSpriteNode类的实例

let dog = SKSpriteNode(imageNamed: "Dog01")
但是,如果我想创建一个从SKSpriteNode继承的自定义类,我该怎么做呢

例如


看起来很简单,但我不知道怎么做

我找到了实现这一点的方法:

init() {

    let texture = SKTexture(imageNamed: "Dog")

    super.init(texture: texture, color: UIColor.clear, size: texture.size())

}
我不知道为什么上述方法有效,但有些类似的方法无效:

super.init(imageName: "Dog")

我在哪里可以从苹果的文档(任何其他来源)中找到什么是允许的,什么是不允许的?谢谢。

SKSpriteNode(imageName:String)
不是正确的初始值设定项。是
SKSpriteNode(imageNamed:String)
导致了我的键入错误。它应该是super.init(ImageName:“Dog”)。当然,Xcode会指出这是一个错误。“它仍然不起作用。”编码员马修斯,你可以查出来。这个项目可能会消除你的困惑。查看Player.swift文件并使用您的项目来实现一个SKSpriteNodeSubclass@MatthewtheCoder,您有一个问题:“我不知道为什么上面的方法有效,但是像这样的方法不行:super.init(imageName:“Dog”)”?答案是SKSpriteNode类只有一个指定的初始值设定项。如果您想为SKSpriteNode类创建子类,则必须super.init()指定SKSpriteNode的特定初始值设定项。您应该在此处查看Ray Wenderlich教程:
super.init(imageName: "Dog")