0
ゲームに驚きの要素を追加するだけで、背景色をランダムに反転させることに決めました。プレーヤーが収集するとき、21の黄金のベーコンが背景の変化を取り除くとしましょう。ビットマップのピクセルを変更することによって、私は次のコードを介してこれを行っている:色が反転された後スムーズにビットマップを更新する
public void invert() {
int length = BackBitmap.getWidth() * BackBitmap.getHeight();
int[] array = new int[length];
BackBitmap.getPixels(array, 0, BackBitmap.getWidth(), 0, 0, BackBitmap.getWidth(), BackBitmap.getHeight());
int[] array2 = new int[length];
int a2 = 0;
for(int col = 0; col < BackBitmap.getHeight(); col++){
for (int row = 0; row < BackBitmap.getWidth();row++){
array2[a2] = BackBitmap.getPixel(row,col);
a2++;
}
}
for (int i=0;i<length;i++){
array[i] = 0xFFFFFF - array2[i];
}
BackBitmap = BackBitmap.copy(Bitmap.Config.ARGB_8888, true);
BackBitmap.setPixels(array, 0, BackBitmap.getWidth(), 0, 0, BackBitmap.getWidth(), BackBitmap.getHeight());
}
はしかし、ゲームは大きな遅れが発生しました。私の驚いたことに、ビットマップを更新するこの方法が最も効果的だと思いました。このエラーに近づくにはどうすればよいでしょうか?