我的目標是在SKScene
的背景中有一個靜態節點。在這個場景中,我根據需要使用SKCameraNode
進行平移。SpriteKit:移動場景中的靜態背景SKCameraNode
背景節點必須是靜態的,因爲它顯示了預計不會移動的遠處的天空。
問題:
如果我只想補充的背景節點作爲孩子的場景,我將不得不移動以同樣的方式相機轉動的背景下,爲了有背景總是完全在相機的視口內可見。我不想這樣做,因爲背景節點會應用一些視覺效果和濾鏡,因此移動它會導致性能下降。
我想要的是將背景作爲靜態節點或視圖放置在背景中,爲了「跟隨」相機,不需要移動該背景或視圖。
有什麼我試過:
我知道,一個節點可以以確保其符合相機被添加爲孩子SKCameraNode
。但正如蘋果所言,這對HUD元素比如樂譜標籤等是非常有用的,而這些元素通常都是高於一切的。如果你想添加背景,這當然是不適用的,因爲我希望它在背景中,在作爲子節點直接添加到場景中的節點後面。儘管如此,我試圖將相關節點作爲子節點添加到相機節點,並使用z位置和類似的東西進行播放,但沒有任何幫助,如預期的那樣。
我也嘗試將背景作爲子視圖添加到根SKView
,但由於某種原因,我無法將其渲染到場景後面。
在此先感謝。
你是什麼意思?將cameraNode連接到場景而不是單獨的「平移節點」? – damirstuhec
沒關係,這是一個死衚衕,但上述應該工作得很好。 –
您的解決方案有效。我嘗試過同樣的事情,但我的問題是我沒有將我的'cameraNode'作爲孩子添加到場景中。我確信我不必明確地這樣做,因爲系統已經提供了一個'camera'屬性,等待被初始化並且如果需要就準備好了。奇怪的是,即使我沒有把它作爲一個孩子添加到場景中,平移和其他所有關於相機的工作都如預期的那樣工作。現在它可以工作。謝謝! – damirstuhec