2017-08-01 13 views
2

SKViewにはSKSceneがあります。後でコントローラで使用するために、シーンからビューに情報を送信する方法が必要です。SKSceneはコンテナSKViewとどのように通信できますか?

たとえば、表示コントローラーをSKViewの代理人にすると、SKViewは、提示されたシーンの特定の部分がタップされたときにUIViewControllerに通知する必要があります。

答えて

3

SKSceneは、この状況では便利なインスタンスメンバー.viewを持っています。あなたが好きそれを使用することができ、標準SKViewメソッドとプロパティにアクセスするには:

self.view?.addGestureRecognizer(pinchGestureRecognizer) 

をご含むビューがSKViewサブクラスである場合には、カスタムメソッドにアクセスするために.viewをダウンキャストすることができます。

if let myView = self.view as? MyCustomViewClass { 
    myView.sceneWasTapped() 
} 

.viewことを覚えておいてくださいオプションです。場面がビューにまだ追加されていない場合はゼロになります。シーンはdidMove(to view: SKView)と呼ばれ、ビューに追加されるので、.viewに依存することを行うのに適しています。

+0

完璧!どうもありがとう! – Fayyouz

関連する問題