私はAndroid用のカードゲームをコーディングしているので、res / drawable(ldpi、hdpi、mdpi、xhdpi)に分散された4つの異なる密度の40枚のカード画像があります。
カードクラスをメンバー間のRectリージョンで定義しました。ここで、カードごとに異なる画像を印刷します。コードは次のとおりです。
package Maze;
import android.R;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
public class Card {
private CardNumber number;
private CardSuit suit;
private Rect region;
private boolean visible;
private Bitmap bitmap;
private Bitmap backsideImg;
public Card(CardNumber number, CardSuit suit){
this.number = number;
this.suit = suit;
this.visible = false;
region = new Rect();
setBitmap();
}
private void setBitmap(){
backsideImg = BitmapFactory.decodeFile(R.drawable.reverse);
if(suit==CardSuit.HEARTS){
switch(number){
case ONE:
bitmap = BitmapFactory.decodeFile(R.drawable.onehearts); // For onehearts.png file
break;
case TWO:
bitmap = BitmapFactory.decodeFile(R.drawable.twohearts); // For twohearts.png file
break;
case THREE:
bitmap = BitmapFactory.decodeFile(R.drawable.threehearts);
break;
case CUATRO:
bitmap = BitmapFactory.decodeFile(R.drawable.fourhearts);
break;
// And so on...
}
}
}
public void draw(Canvas c, int x, int y){
region.left = x;
region.top = y;
region.right = x + 80;
region.bottom = y + 115;
if(visible) c.drawBitmap(bitmap, x, y, null);
else c.drawBitmap(backsideImg, x, y, null);
}
}
しかし、それはリソースを見つけていません。たとえば、「1heartsは解決できないか、フィールドではありません」と書かれています。いくつかの手順が欠けていると思います。画像をリソースフォルダにドラッグアンドドロップしただけです。
私は何が欠けていますか?