그래서 나는 다음과 같은 코드가 있습니다 :자바 - 클래스의 변수 식별자
이 레벨 클래스의 블록 사랑의 충돌이 있는지 내 문자 클래스에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)
:Component.Level_1_1
변수가 될 :
그래서 난 단지 해달라고 한 수준을 원하는 ofcause, 정말 내가 원하는 더 후 1 개 수준을 원하는
나의 현재 레벨은 다음과 같은 방식으로 설명 : 문자 클래스에서
public static String currentLevel = "Level_1_1";
. 다음을 시도했습니다.
Component.(currentLevel)
그러나 작동하지 않았습니다. 다음 작업을하려면 어떻게해야합니까?
편집 : OK 일부 didnt한다 내가 .. 내가 뭘 원하는 isCollingWithBlock에, Component.Level_1_1.block에게 변수를 만들기 위해 어떻게 원하는 것을 이해합니다. 메신저에 다음과 같은 레벨이 있기 때문에 : Component.Level_1_2.block, Component.Level_1_3.block etc. 이것은 my : public static String currentLevel = "Level_1_1";에 의해 결정되어야합니다.
문자 클래스의 코드는 어디에 있습니까? – NINCOMPOOP
나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. – djechlin
정적 변수가있는 클래스 Level_1_1, Level_1_2 등이 있다면 기본적으로 디자인 결함이있는 것 같습니다. 인스턴스를 * 나타내는 * 객체 지향적 인 방식으로 생각하십시오. –