現在、敵がその黒い領域内にない場合、黒い領域を埋めるゲームを開発しています。これはゲームなので、高速である必要があります。現在、私は次のことを行っています:
- 黒い領域で塗りつぶしを開始します
- 塗りつぶしアルゴリズムでピクセルをチェックしながら、敵もチェック
- 敵が見つからない場合は、このビットマップをメイン キャンバスのビットマップにします
これはこれまでのところ、私が見つけることができる最善かつ最速のアプローチでした。それでも、ゲームはほんの一瞬フリーズします。しかし、RegionsとPathsを使用してから canvas.drawPathを使用すると、はるかに高速になると思います。また、 region.contains(x,y)を使用して敵を確認することもできます。その特定の色を持つ領域/領域の配列を取得する方法を教えてください。
前もって感謝します。
PS: これが必要かどうかはわかりませんが、私はpaint.setXfermode (new AvoidXfermode(COLOR1, 0, Mode.TARGET));を使用しました。すべての COLOR1 を必要な色に置き換えるのは非常に高速です。これにより、上記の問題に対する解決策があることをより確信できます。