所以我有以下代码:
public static String currentLevel = "Level_1_1";
public boolean isCollingWithBlock(Point pt1, Point pt2){
for(int x=(int)(this.x/Tile.tileSize);x<(int)(this.x/Tile.tileSize + 3);x++){
for(int y=(int) (this.y/Tile.tileSize);y<(int)(this.y/Tile.tileSize + 3);y++){
if(x >= 0 && y >= 0 && x < Component.Level_1_1.block.length && y < Component.Level_1_1.block[0].length){
// blocks
if(Component.Level_1_1.block[x][y].id != Tile.air && Component.Level_1_1.block[x][y].id != Tile.death && Component.Level_1_1.block[x][y].id != Tile.win){
if(Component.Level_1_1.block[x][y].contains(pt1) || Component.Level_1_1.block[x][y].contains(pt2)){
return true;
}
}
if(Component.Level_1_1.block[x][y].id == Tile.death){
if(Component.Level_1_1.block[x][y].contains(pt1) || Component.Level_1_1.block[x][y].contains(pt2)){
alive = false;
deathText = true;
return true;
}
}
if(Component.Level_1_1.block[x][y].id == Tile.win){
if(Component.Level_1_1.block[x][y].contains(pt1) || Component.Level_1_1.block[x][y].contains(pt2)){
win = true;
return true;
}
}
}
}
}
return false;
}
这是在我的Character类中查看是否存在与级别类相关的块(在本例中为1_1级)
所以因为我不想要1级,我想要超过1级所以我希望:
Component.Level_1_1
成为变量:
我目前的水平以下列方式解释:
public static String currentLevel = "Level_1_1";
在角色类中。 我试着做以下事情:
Component.(currentLevel)
但它没有用。 我能做些什么做以下工作?
编辑: 好吧有些人不明白我想做什么.. 我想要的是在isCollingWithBlock中,使Component.Level_1_1.block成为一个变量。 因为即时通讯会有以下级别:Component.Level_1_2.block,Component.Level_1_3.block等。 这应该由我的:public static String currentLevel =“Level_1_1”;
决定答案 0 :(得分:1)
正如Jon Skeet在评论中所说,你不应该逐级。相反,使用表示级别的单个类Level
,并按级别创建该类的一个实例。