fix: Resolve drawing functionality and mouse tracking issues
This commit is contained in:
parent
7f16ee7427
commit
ef2226b1d2
23
script.js
23
script.js
@ -19,6 +19,7 @@ let currentTool = SAND;
|
||||
let isDrawing = false;
|
||||
let isDragging = false;
|
||||
let lastMouseX, lastMouseY;
|
||||
let currentMouseX, currentMouseY;
|
||||
let lastFrameTime = 0;
|
||||
let fps = 0;
|
||||
let worldOffsetX = 0;
|
||||
@ -105,6 +106,10 @@ function handleMouseMove(e) {
|
||||
const x = e.clientX - rect.left;
|
||||
const y = e.clientY - rect.top;
|
||||
|
||||
// Always update current mouse position
|
||||
currentMouseX = x;
|
||||
currentMouseY = y;
|
||||
|
||||
if (isDragging) {
|
||||
// Calculate how much the mouse has moved
|
||||
const dx = x - lastMouseX;
|
||||
@ -463,16 +468,14 @@ function render() {
|
||||
|
||||
// Draw cursor position in debug mode
|
||||
if (debugMode) {
|
||||
canvas.addEventListener('mousemove', function(e) {
|
||||
const rect = canvas.getBoundingClientRect();
|
||||
const mouseX = e.clientX - rect.left;
|
||||
const mouseY = e.clientY - rect.top;
|
||||
const worldX = Math.floor(mouseX / PIXEL_SIZE) + worldOffsetX;
|
||||
const worldY = Math.floor(mouseY / PIXEL_SIZE) + worldOffsetY;
|
||||
const rect = canvas.getBoundingClientRect();
|
||||
const mouseX = lastMouseX || 0;
|
||||
const mouseY = lastMouseY || 0;
|
||||
const worldX = Math.floor(mouseX / PIXEL_SIZE) + worldOffsetX;
|
||||
const worldY = Math.floor(mouseY / PIXEL_SIZE) + worldOffsetY;
|
||||
|
||||
document.getElementById('coords').textContent =
|
||||
`Chunk: ${Math.floor(worldOffsetX / CHUNK_SIZE)},${Math.floor(worldOffsetY / CHUNK_SIZE)} | ` +
|
||||
`Mouse: ${worldX},${worldY} | Offset: ${Math.floor(worldOffsetX)},${Math.floor(worldOffsetY)}`;
|
||||
});
|
||||
document.getElementById('coords').textContent =
|
||||
`Chunk: ${Math.floor(worldOffsetX / CHUNK_SIZE)},${Math.floor(worldOffsetY / CHUNK_SIZE)} | ` +
|
||||
`Mouse: ${worldX},${worldY} | Offset: ${Math.floor(worldOffsetX)},${Math.floor(worldOffsetY)}`;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user