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