SKSceneを拡張するMenuクラスがありますが、SKSceneの属性であるviewにはアクセスできません。代わりに、次のエラーが表示されます。 "インスタンスメンバー 'ビュー'はタイプメニューで使用できません。クラスはSKSceneを拡張しますが、その属性にはアクセスできません
これにアクセスするために何か特別なことはありますか?それはすでにそれを呼び出すことができるように思われる。問題は、最後の行に来る
class Menu: SKScene {
var blueButton: Button!
var touchNode: SKSpriteNode!
var newScene: SKScene?
override func didMove(to view: SKView) {
blueButton = self.childNode(withName: "Start") as! Button
}
...
class func transitionToScene(node: String) {
var scene = SKScene()
switch node {
case "NewGame":
scene = GameScene()
default:
debugPrint("transition to scene called on no button")
}
scene.scaleMode = SKSceneScaleMode.aspectFill
//(self.view as! SKView).presentScene(scene)
self.view.presentScene(scene)
}
:ここ
は、クラスの短縮バージョンです。その上に私は別の試みをコメントしたが、これもうまくいかなかった。
これはおそらく超愚かな質問ですが、 'static func'と' class func'の違いは何ですか? – Confused
@Confusedメソッドがクラスfuncとして宣言されている場合、サブクラスはこのメソッドをオーバーライドできます。 staticとして定義されたメソッドは、サブクラスではオーバーライドできません。 – Whirlwind