2

我目前正在开发一款游戏,如果敌人不在该黑色区域内,则该游戏涉及填充黑色区域。因为,它是一个游戏,所以它需要很快。目前我正在做以下事情:

  1. 开始在黑色区域进行洪水填充
  2. 在检查填充算法中的像素时,还要检查敌人
  3. 如果没有找到敌人,则将此位图作为主画布的位图

要检查的黑色区域

到目前为止,这是我能找到的最好和最快的方法。但是,游戏仍然冻结了几分之一秒。但是,如果我使用RegionsPaths然后使用canvas.drawPath,我想它会快得多。也可以使用region.contains(x,y)检查敌人。您能告诉我如何获得具有该特定颜色的区域/区域数组吗?

提前致谢。

PS:我不知道这是否有必要,但我使用了 paint.setXfermode (new AvoidXfermode(COLOR1, 0, Mode.TARGET)); 并且用所需的颜色替换所有 COLOR1 非常快。这让我更加确信我的上述问题有一个解决方案。

4

1 回答 1

0

有多少敌人?它们是如何存储的?你为什么不解决相反的问题。拿一块黑色的画布,把敌人所在的区域涂成绿色?如果大部分画布最终变成黑色,速度会明显更快。

于 2012-07-09T16:59:04.440 回答