2016-11-09 22 views
1

私は名前で3〜4回、それぞれをインスタンス化だSKLabelNodeのサブクラス、および目的地を持っている:SKLabelNodeをサブクラス化してシーンを提示する方法は?

// 

import SpriteKit 

class MenuButton: SKLabelNode { 

    var goesTo = SKScene() 

    override init() { 
     super.init() 
     print("test... did this get called? WTF? HOW/WHY/WHERE?") 
    } 

    convenience init(text: String, color: SKColor, destination: SKScene){ 
     self.init() 
     self.text = text 
     self.color = color 

     goesTo = destination 
    } 

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
     let nextScene = goesTo 
     // .....????????????????? 
     // HOW DO I GET THIS TO FIND ITS SCENE... 
     // THEN ITS VIEW, THEN PRESENT this nextScene???? 

    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

} 

私は私が呼び出す必要があるビューで取得する方法についての損失によシーンがオンに切り替わります。

答えて

2

すべてSKNodeには、ノードが存在するシーンを返すプロパティsceneがあります。そう

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    let nextScene = goesTo 

    self.scene?.view?.presentScene(nextScene) 

} 
+0

viewプロパティとして

、すべてSKScene、ありがとうございました!!!この問題への私のアプローチよりもはるかに良い;) 'てみましょうmyPointlessView = SKView()myPointlessView.presentScene(nextScene)' – Confused

関連する問題