我有這些方法的雪碧類數組:x
,y
,width
和height
。他們根據他的z
財產進行分類。最後是最上面的。我也有屏幕尺寸。我如何知道特定的Sprite是否可見?如何檢查一個精靈對象是否可見?
0
A
回答
2
「讓它工作」的最簡單方法是以反向Z順序渲染。這是最接近的。
否則,你有一個N^2問題找到閉塞。您可以通過構建遮擋樹來優化這一點。
另一個選項可能是深度測試緩衝區。
class Sprite
def occluded?(other)
# check collision in X and Y
# if they are colliding and self.z < other.z then self is partially or fully occluded
end
end
+1
但是,如果您按照該順序進行渲染,則會出現透支問題。通過執行[z-culling](http://en.wikipedia.org/wiki/Z-buffering#Z-culling),首先繪製最接近的圖像,您可以避免繪製不完全可見的圖像。 (但是傳統的z-culling使用每像素訪問,OP可能不可用。 – Phrogz 2010-12-19 03:20:28
相關問題
- 1. 如何檢測一個精靈是否在另一個精靈的內部?
- 2. 檢查,看是否精靈正在
- 3. SFML 2.1如何讓一個精靈面對另一個精靈
- 4. 如何檢查是否一個對象可以使用PHP
- 5. 如何檢查一個對象是否是一個字符串?
- 6. 如何檢查圖像是否可見?
- 7. 如何檢查JOptionPane是否可見?
- 8. PyQt - 如何檢查QDialog是否可見?
- 9. 如何檢查AdView是否可見?
- 10. 如何檢查EKCalendar是否可見
- 11. 如何檢查NSWindow是否可見
- 12. 檢查是否是一個對象
- 13. 如何檢查一個字符在JS中是否可見?
- 14. 我如何檢查一個元素在php中是否可見?
- 15. 如何檢查另一個視圖控制器是否可見?
- 16. 檢查UIAlertView是否可見
- 17. 如何檢查Cocos2d-x中是否完成按下精靈?
- 18. 如何檢測是另一個精靈的孩子的精靈的觸摸
- 19. 如何讓精靈從精靈表變成另一個精靈?
- 20. 檢查一個對象是否爲空
- 21. 如何檢測圖層中所有可見的精靈?
- 22. wp7:如何檢查進度條是否可見或不可見?
- 23. 如何檢查一個對象是否包含另一個對象?
- 24. in_array如何檢查一個對象是否在一個對象數組中?
- 25. 如何檢查對象是否是一個Vue的成分?
- 26. 如何檢查一個對象是否是Blob類型?
- 27. 如何檢查兩個對象是否屬於同一個類?
- 28. 如何將一個精靈相對於另一個精靈的旋轉?
- 29. 檢查一個對象是否是委託對象
- 30. AS3移除一個精靈對象的多個子對象
描述了精靈在您的場景中可以看不見的方式以及爲什麼要控制它。因爲它完全落後於(在z中)另一個精靈(s)?因爲它超出了屏幕邊界?請擴大。 – tokland 2010-12-18 23:51:41