我想确保在Home类中可以调用类HUD,并且这两部分代码可以测试好但是当我在Xcode中运行时,它会崩溃并显示一个问题:
"致命错误:使用未实现的初始化程序&#init;大小:'为班级' LeftBehind.HUD'"
我希望有人能告诉我如何解决它,谢谢。
import UIKit
import SpriteKit
class HUD: SKScene {
let positionX:CGFloat
let positionY:CGFloat
let sceneSelf: SKScene
let year = SKLabelNode()
let month = SKLabelNode()
let day = SKLabelNode()
let hour = SKLabelNode()
let minute = SKLabelNode()
init(positionX:CGFloat,positionY:CGFloat,scene:SKScene) {
self.positionX = positionX
self.positionY = positionY
self.sceneSelf = scene
super.init()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func hudShow() {
year.fontName = "Arial"
year.fontSize = 70
year.text = "This is a year"
year.fontColor = UIColor.whiteColor()
year.position = CGPoint(x: positionX , y: positionY)
sceneSelf.addChild(year)
}
}
下面的类调用上面的类
import SpriteKit
class Home: SKScene {
override func didMoveToView(view: SKView) {
let hud = HUD(positionX: frame.midX, positionY: frame.midY, scene: self)
hud.hudShow()
}
}
答案 0 :(得分:0)
而不是致电super.init()
来电super.init(size size: CGSize)
您可以使用SKView的bounds.size
属性传入初始化程序。