Cocos2d iphone 如何计算屏幕上所有实体/形状的总面积
我试图计算所有物体或形状在屏幕上占据的总面积。也就是说,如果我有两个互相相交的圆,A和B,我想计算一个并集B所覆盖的面积(在屏幕上) 我一直在阅读《花栗鼠》,并在《花栗鼠》中寻找一种我可以使用的方法,但我没有找到任何可以直接使用的方法 我发现的唯一两种可能有用的方法是:和 我当时的想法是:Cocos2d iphone 如何计算屏幕上所有实体/形状的总面积,cocos2d-iphone,chipmunk,Cocos2d Iphone,Chipmunk,我试图计算所有物体或形状在屏幕上占据的总面积。也就是说,如果我有两个互相相交的圆,A和B,我想计算一个并集B所覆盖的面积(在屏幕上) 我一直在阅读《花栗鼠》,并在《花栗鼠》中寻找一种我可以使用的方法,但我没有找到任何可以直接使用的方法 我发现的唯一两种可能有用的方法是:和 我当时的想法是: 使用第一个方法(pointQueryFirst)遍历屏幕上的所有点并调用此方法。如果点中没有形状,则将其累积到变量中。然后将该变量值除以屏幕的面积,得到屏幕空闲的百分比 或者使用第二种方法(segmentQ
- 使用第一个方法(pointQueryFirst)遍历屏幕上的所有点并调用此方法。如果点中没有形状,则将其累积到变量中。然后将该变量值除以屏幕的面积,得到屏幕空闲的百分比
- 或者使用第二种方法(segmentQueryFirstFrom),创建一个递归算法,将屏幕一分为二,并在每一半上运行查询,如果任何一半包含形状,则将该区域分成两半,并检查这些区域是否包含任何形状,依此类推
但我希望在使用它们时,整体性能会受到影响。是否有其他解决方案可供我使用?我还没有找到另一种方法?非常感谢您的帮助。花栗鼠不会特别帮助您。你提到的方法会奏效,但速度慢得可笑
我想我会做一个很好的老式遮挡查询。将形状渲染成纹理或某种屏幕外缓冲区,然后计算像素。我不熟悉objective-c、cocos2d、花栗鼠。关于使用哪些类有什么建议吗?此后,我可以在API中查找它。制作一个CCRenderTexture,然后使用glReadPixels()读回像素数据。请记住,这并不快。从GPU读回像素需要几十毫秒的时间,所以你不希望每一帧都这样做。