我有一个加载了我所有图像的 Assets 类,我还有一个卡片类,卡片类中有一个字符串作为该卡片的名称。现在我想用卡片类中的字符串从我 Assets 中的值中绘制该图像,以便它们匹配。我将如何做到这一点?
这是我的
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 ;
}
}
最佳答案
您可以使用反射读取类成员名称:
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 ,此外,通常避免使用反射是个好主意。
关于java - 我可以把字符串变成一个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965417/