ブラシサイズを作成しようとしている2Dタイルゲームがあります。現在、私のコードは次のようになっています。
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()
ようになります。
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();
}
これにより、現在次の出力が生成されます。
左上の最初のタイルの上のタイルは、マウスをクリックした場所です。次のタイルがレンダリングされていないことがわかります。私はこれに何時間もいるので、おそらく単純なものが欠けています。何か助けはありますか?
編集:ブラシのサイズは2
なので、4つのタイルを作成する必要があります。blockSize
、それは32
私のブロックの大きさです。