2017-08-01 53 views
2

我有一個SKScene介紹在SKView。我想要一種方式將信息從場景發送到視圖,以供將來與控制器一起使用。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