import Foundation
import SpriteKit
class HGHero: SKSpriteNode {
var body: SKSpriteNode!
var arm: SKSpriteNode!
var leftFoot: SKSpriteNode!
var rightFoot: SKSpriteNode!
错误来自:
override init () {
我不确定发生了什么。我试图覆盖SKSpriteNode的默认初始化。
super.init(texture: nil, color: UIColor.blackColor(), size:
CGSizeMake(32,44))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
答案 0 :(得分:1)
您只需要删除override
关键字。
class HGHero: SKSpriteNode {
var body: SKSpriteNode!
var arm: SKSpriteNode!
var leftFoot: SKSpriteNode!
var rightFoot: SKSpriteNode!
init() {
super.init(texture: nil, color: UIColor.blackColor(), size:
CGSizeMake(32,44))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Infact初始值设定项不是继承的(就像使用方法或属性一样)。所以你不要覆盖它们。
这些隐含的未包装选项
var body: SKSpriteNode!
var arm: SKSpriteNode!
var leftFoot: SKSpriteNode!
var rightFoot: SKSpriteNode!
非常危险。