매우 간단한 타일 맵 시스템을 만들려고하는데 몇 주 전에 문제가 발생하여 여기에서 질문했지만 최근에 다시 작성하여 제대로 작동하지 않습니다.
slick2D를 사용하고 있으므로이를 재현하려면 코드를 메인 렌더링 루프에 넣어야합니다.
정렬
public static int[][] map = {{1,1,1,1,1,2,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,0,0,0,0,0,1}};
타일 맵 루프.
int x = 0;
int y = 0;
int I = 0;
int II = 0;
while(y <= 7){
while( x <= 12){
if(map[y][x] == 0){
Image img = new Image("res/tile1.png");
img.draw(II,I);
}
if(map[y][x] == 1){
Image img = new Image("res/tile0.png");
img.draw(II,I);
}
if(map[y][x] == 2){
Image img = new Image("res/tile3.jpg");
img.draw(II,I);
}
x++;
II = x * 100;
}
y++;
I = y * 100;
}
스크린 샷 http://puu.sh/iIf9r/42c3b6f4db.png
감사.
귀하의 코드에서 이해 한 내용은 이미지를 직사각형 7x12로 인쇄하는 것을 좋아합니다. 내가 잘 이해했다면 각 행 앞에 x를 재설정해야하므로while( x <= 12){
int x = 0;
int y = 0;
int I = 0;
int II = 0;
while(y <= 7){
x = 0;
while( x <= 12){
if(map[y][x] == 0){
Image img = new Image("res/tile1.png");
img.draw(II,I);
}
if(map[y][x] == 1){
Image img = new Image("res/tile0.png");
img.draw(II,I);
}
if(map[y][x] == 2){
Image img = new Image("res/tile3.jpg");
img.draw(II,I);
}
x++;
II = x * 100;
}
y++;
I = y * 100;
}
참고 더 나은 성능을 때마다 새로운 이미지를 만드는 데 필요하지 않습니다해야합니다. 먼저 타일을 만들고 재사용하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다