2014-02-12 42 views
3

有沒有辦法來檢查SKSpriteNode/SKNode何時在屏幕上(即可見)我有一個大的滾動背景,在這裏我產生了小怪,但是我想限制他們的動畫和聲音,如果他們不可見。有沒有辦法做到這一點,我可以在更新循環中寫一些東西,但我想在我開始每幀查詢暴徒位置之前,看看有什麼我可以測試的東西。檢查一個SKNode是否在屏幕上並且可見

+0

您是否試圖避免檢查每個精靈的位置從更新方法,看看他們是否在屏幕上也許像這樣CGRectContainsRect([[UIScreen mainScreen]範圍],yourSprite.frame)?它是導致滾動背景移動的更新方法嗎? – Bokoskokos

+0

檢查節點的位置是我知道實現的唯一途徑 –

+0

您是否發現比檢查更新方法中每個幀邊界更好的方法?由於SpriteKit文檔指出場景可見區域外的節點「被渲染器忽略」,我希望我們能夠更容易地枚舉這些節點? – Pieter

回答

0

我認爲你做錯了。你應該堅持MVC模式。因此,只有在大面積移動的數據/點和更新方法中,如果有任何數據位於屏幕區域內,則只能繪製它們。如果沒有,請將其移除。

相關問題