1
나는 브러시 크기를 만들려고하는 2D 타일 게임을 가지고 있습니다. 현재, 내 코드는 다음과 같습니다 : 첫 타일 위에타일로 사각형을 채우기
타일이 현재이 출력을 생성
public void setAt(int x, int y, BlockType b) {
if (x <= Display.getWidth()/blockSize && y <= Display.getHeight()/blockSize) {
blocks[x][y] = new BaseBlock(b, x * blockSize, y * blockSize);
}
render();
}
:
이if (isMouseClicked0) {
int grid_x = Math.round(mouseX/blockSize);
int grid_y = Math.round(mouseY/blockSize);
for (int x = 0; x < brushSize; x++) {
for (int y = 0; y < brushSize; y++) {
world.setAt(grid_x, grid_y, b[inventorySelect]);
grid_x += x;
grid_y += y;
}
}
}
setAt()
방법은 다음과 같습니다 왼쪽 상단은 마우스를 클릭 한 곳이므로 다음 타일이 렌더링되지 않음을 알 수 있습니다. 나는 몇 시간 동안이 일을 해왔으므로 나는 아마도 간단한 것을 놓치고있을 것이다. 어떤 도움이 필요합니까?
EDIT : 브러쉬 크기는 2
이므로 4 개의 타일을 만들어야합니다. blockSize
은 32
입니다. 내 블록이 얼마나 큰지 알 수 있습니다.
grid_x += x;
grid_y += y;
당신은 기본적으로 대각선 방향으로 이동 :
오 와우. 나는 그 생각을하지 않았다는 것을 믿을 수 없다! 정말 고맙습니다. –
당신은 환영합니다 :) – wldsvc