非常にシンプルなタイルエンジンを作ろうとしています。ただし、を使用するBitmap.getpixel(x,y)
と、必ずしも色が正しく一致するとは限りません。、、、、で問題なく動作しているようですが0xFFFFFFFF
、0xFF000000
で問題があり0xFF189600
ます。似たような色を複数回変えてみましたが、まだ正しく読めないようです。単純なswitchステートメントと比較しています。これが私のメソッドのコードです0xFF18FF00
0xFF186600
public void LoadLevel(Canvas canvas, int levelName)
{
Bitmap level = BitmapFactory.decodeResource(getResources(), levelName);
Bitmap startTile = BitmapFactory.decodeResource(getResources(), R.drawable.starttile);
canvas.drawColor(Color.WHITE);
int drawX = 0;
int drawY = 0;
for(int y = 0; y < level.getHeight(); y++)
{
for(int x = 0; x < level.getWidth(); x++)
{
switch(level.getPixel(x, y))
{
case 0xFF000000: break;
case 0xFFFFFFFF:
canvas.drawBitmap(startTile, drawX, drawY, null);
break;
case 0xFF189600:
canvas.drawBitmap(startTile, drawX, drawY, null);
break;
case 0xFF18FF00:
canvas.drawBitmap(startTile, drawX, drawY, null);
break;
case 0xFF186600:
canvas.drawBitmap(startTile, drawX, drawY, null);
break;
}
Log.d("Color", Integer.toString(level.getPixel(x, y)));
drawX += 128;
}
drawX = 0;
drawY += 128;
}
}
ログによると、色は「-15177472」です。でも実際の色はわかりませんが…だから-15177472 == 0xFF186600
ピクセルを取得しないために私は間違って何をしていますか?アンドロイドは画像を変更していますか?私が使用すると思われる安全な色はありますか?