我有一个已加载所有图片的资产类,我还有一个卡类,我在卡类中有一个字符串,用于该卡的名称。现在我想从我的资产中的值中使用卡类中的字符串绘制该图像,以便它们匹配。我怎么做到这一点?
这就是我所拥有的
class Assets {
public static Pixmap kick;
}
和上下文我想从
获得它void drawHand(){
int x = 70;
for(int i=0;i<hand.length;i++){
Graphics g = game.getGraphics();
g.drawPixmap(Assets.(hand[i].returnname()),x,230); // hand[i].returnname() == "kick"
x= x+65 ;
}
}
答案 0 :(得分:1)
您可以使用反射读取类成员名称:
class Assets {
public Integer kick = 5;
}
class HelloWorld
{
public static void main (String[] args)
{
Assets t = new Assets();
Field[] fields = t.getClass().getDeclaredFields();
for (Field f: fields){
System.out.println("f = " + f.getName()); // prints f = kick
}
}
}
那就是说,我同意@ajb:你可能想要使用一个hashmap,通常最好不要使用反射。