Java -类的变量标识符



所以我有以下代码:

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;   
}

这是在我的字符类,看看是否有碰撞块从水平类(在这种情况下的水平1_1)

所以,因为我不只是想要1级,我想要更多的,所以我希望:

Component.Level_1_1

作为变量:

我目前的水平解释如下:

public static String currentLevel = "Level_1_1";

在字符类中。我试着做了以下操作:

Component.(currentLevel)

但它没有工作。我该怎么做才能使下面的工作?

编辑:好吧,有些人不明白我想做什么…我想要的是在isCollingWithBlock中,使Component.Level_1_1。阻塞一个变量。因为我将有这样的级别:component。level_12。块,Component.Level_1_3。块等。这应该由my: public static String currentLevel = "Level_1_1";

决定

正如Jon Skeet在评论中所说,您不应该按级别划分类。相反,使用单个类Level表示一个级别,并按级别创建该类的一个实例。

最新更新