Swift 如何在两个类之间正确地初始化

Swift 如何在两个类之间正确地初始化,swift,sprite-kit,Swift,Sprite Kit,我想确保在类Home中可以调用类HUD,这两部分代码可以测试,但当我在Xcode中运行时,它崩溃并出现问题: “致命错误:对类“leftbehing.HUD”使用未实现的初始值设定项“init(size:)” 我希望有人能告诉我如何修理它,谢谢 import UIKit import SpriteKit class HUD: SKScene { let positionX:CGFloat let positionY:CGFloat

我想确保在类Home中可以调用类HUD,这两部分代码可以测试,但当我在Xcode中运行时,它崩溃并出现问题:

“致命错误:对类“leftbehing.HUD”使用未实现的初始值设定项“init(size:)”

我希望有人能告诉我如何修理它,谢谢

    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()
    }
}
编辑:上传另一种方式,可以工作,但不是完美的方式,我想实现与初始而不是功能参考。

而不是调用
super.init()
调用
super.init(size:CGSize)


您可以使用SKView的
bounds.size
属性传递到该初始值设定项中

而不是调用
super.init()
调用
super.init(大小:CGSize)


您可以使用SKView的
bounds.size
属性传递到该初始值设定项中

您是否试图在视图中呈现两个场景?一个
SKView
一次只能呈现一个
SKScene
。我认为他试图在菜单场景和游戏场景之间保留一个参考something@0x141E不,我想创建一个类,它可以作为一个通用的UI组(称为“HUD”)使用,它将出现在许多其他场景中,我也不想每次都设置这个函数,所以我需要一个首字母。@hamobi嘿,伙计,让我给你看另一个例子,你是不是想在视图中呈现两个场景?一个
SKView
一次只能呈现一个
SKScene
。我认为他试图在菜单场景和游戏场景之间保留一个参考something@0x141E不,我想创建一个类,它可以作为一个通用的UI组(称为“HUD”)使用,它将出现在许多其他场景中,我也不想每次都设置这个函数,所以我需要一个首字母。@hamobi嘿,伙计,让我再给你举一个例子