0
我正試圖計算屏幕上所有物體或形狀佔用的總面積。即如果我有兩個相交的圓圈A和B,我想計算A union B覆蓋的區域(在屏幕上)。如何計算屏幕上所有物體/形狀的總面積
我一直在閱讀花栗鼠documentation,看着花栗鼠API爲我可能使用的方法,但我還沒有找到任何我可以直接使用。
只有兩個方法,我發現,這可能是有用的,是這兩個:
- 使用第一種方法(pointQueryFirst)去:
pointQueryFirst:layers:group:
和segmentQueryFirstFrom:to:layers:group:
我的想法是對的方式通過屏幕上的所有點並調用此方法。如果一個點中沒有形狀,則將其累加到一個變量中。然後將該變量值與屏幕區域分開,以獲得空閒屏幕的百分比。
- 或者使用第二種方法(segmentQueryFirstFrom),創建一個遞歸算法,將屏幕分爲兩半,並在每一半上運行查詢,如果任何一半包含形狀,則將該區域分成兩半,並檢查這些區域是否包含任何形狀,等等...
但我期望在使用它們時,整體性能會受到影響。我可以使用另一種解決方案嗎?另一種我沒有找到的方法?任何幫助是極大的讚賞。
我是新來的objective-c,cocos2d,花栗鼠。任何有關使用哪些類的建議?之後我可以在API中查找它。 –
製作CCRenderTexture,然後使用glReadPixels()讀回像素數據。請記住,這是*不*很快。從GPU讀取像素需要花費幾十毫秒的時間,因此您不希望每幀都這樣做。 – slembcke