Changed input mode.
This commit is contained in:
parent
084fce0a9b
commit
a547b6ede1
@ -16,7 +16,7 @@ export class GameRenderer {
|
|||||||
|
|
||||||
this.hoveredTile = null;
|
this.hoveredTile = null;
|
||||||
this.cameraPos = { x: 0, y: 50, z: 50 };
|
this.cameraPos = { x: 0, y: 50, z: 50 };
|
||||||
this.cameraZoom = 1;
|
this.cameraZoom = 1; // Re-introduced for proper orthographic zoom
|
||||||
|
|
||||||
this.TILE_SIZE = 2;
|
this.TILE_SIZE = 2;
|
||||||
this.VIEW_DISTANCE = 50;
|
this.VIEW_DISTANCE = 50;
|
||||||
@ -242,15 +242,19 @@ export class GameRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
zoomCamera(delta) {
|
zoomCamera(delta) {
|
||||||
this.cameraZoom = Math.max(0.5, Math.min(2, this.cameraZoom + delta));
|
// Adjust the zoom property. A positive delta (scroll up) increases zoom.
|
||||||
this.updateCameraPosition();
|
this.cameraZoom += delta;
|
||||||
|
// Clamp the zoom level to a reasonable range
|
||||||
|
this.cameraZoom = Math.max(0.5, Math.min(2.5, this.cameraZoom));
|
||||||
|
|
||||||
|
// Apply the zoom to the camera and update its projection matrix
|
||||||
|
this.camera.zoom = this.cameraZoom;
|
||||||
|
this.camera.updateProjectionMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
updateCameraPosition() {
|
updateCameraPosition() {
|
||||||
this.camera.position.set(
|
this.camera.position.set(
|
||||||
this.cameraPos.x,
|
this.cameraPos.x, this.cameraPos.y, this.cameraPos.z
|
||||||
this.cameraPos.y * this.cameraZoom,
|
|
||||||
this.cameraPos.z * this.cameraZoom
|
|
||||||
);
|
);
|
||||||
this.camera.lookAt(this.cameraPos.x, 0, this.cameraPos.z - 50);
|
this.camera.lookAt(this.cameraPos.x, 0, this.cameraPos.z - 50);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,8 +37,6 @@ export class InputHandler {
|
|||||||
if (this.app.isPlacingBuilding && this.app.selectedBuildingType) {
|
if (this.app.isPlacingBuilding && this.app.selectedBuildingType) {
|
||||||
// Place building
|
// Place building
|
||||||
this.app.placeBuilding(tile.x, tile.y);
|
this.app.placeBuilding(tile.x, tile.y);
|
||||||
this.app.isPlacingBuilding = false;
|
|
||||||
this.app.selectedBuildingType = null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -46,6 +44,11 @@ export class InputHandler {
|
|||||||
onMouseUp(event) {
|
onMouseUp(event) {
|
||||||
if (event.button === 2) { // Right mouse button
|
if (event.button === 2) { // Right mouse button
|
||||||
this.isRightMouseDown = false;
|
this.isRightMouseDown = false;
|
||||||
|
|
||||||
|
// A right-click should cancel building placement mode
|
||||||
|
this.app.isPlacingBuilding = false;
|
||||||
|
this.app.selectedBuildingType = null;
|
||||||
|
|
||||||
this.canvas.style.cursor = 'default';
|
this.canvas.style.cursor = 'default';
|
||||||
|
|
||||||
// Check if click (not drag)
|
// Check if click (not drag)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user