我目前正在开发一款游戏,如果敌人不在该黑色区域内,则该游戏涉及填充黑色区域。因为,它是一个游戏,所以它需要很快。目前我正在做以下事情:
- 开始在黑色区域进行洪水填充
- 在检查填充算法中的像素时,还要检查敌人
- 如果没有找到敌人,则将此位图作为主画布的位图
到目前为止,这是我能找到的最好和最快的方法。但是,游戏仍然冻结了几分之一秒。但是,如果我使用Regions和Paths然后使用canvas.drawPath,我想它会快得多。也可以使用region.contains(x,y)检查敌人。您能告诉我如何获得具有该特定颜色的区域/区域数组吗?
提前致谢。
PS:我不知道这是否有必要,但我使用了 paint.setXfermode (new AvoidXfermode(COLOR1, 0, Mode.TARGET)); 并且用所需的颜色替换所有 COLOR1 非常快。这让我更加确信我的上述问题有一个解决方案。