我正在为 Android 编写纸牌游戏,所以我有 40 张纸牌图像,有 4 种不同的密度,分布在 res/drawable-ldpi、hdpi、mdpi 和 xhdpi 中。
我已经在其成员中定义了我的 Card 类,其中包含一个 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 无法解决或不是一个字段”。我想我错过了一些步骤,我只是将图像拖放到资源文件夹中。
我错过了什么?