fix: Resolve canvas reference and duplicate currentTool declaration

This commit is contained in:
Kacper Kostka (aider) 2025-04-05 16:27:42 +02:00
parent bcd61b7433
commit a948fab619
2 changed files with 9 additions and 1 deletions

View File

@ -38,6 +38,7 @@ function setTool(tool) {
} }
function handleMouseDown(e) { function handleMouseDown(e) {
const canvas = document.getElementById('simulation-canvas');
const rect = canvas.getBoundingClientRect(); const rect = canvas.getBoundingClientRect();
const x = e.clientX - rect.left; const x = e.clientX - rect.left;
const y = e.clientY - rect.top; const y = e.clientY - rect.top;
@ -57,6 +58,7 @@ function handleMouseDown(e) {
} }
function handleMouseMove(e) { function handleMouseMove(e) {
const canvas = document.getElementById('simulation-canvas');
const rect = canvas.getBoundingClientRect(); const rect = canvas.getBoundingClientRect();
const x = e.clientX - rect.left; const x = e.clientX - rect.left;
const y = e.clientY - rect.top; const y = e.clientY - rect.top;
@ -154,6 +156,8 @@ function draw(x, y) {
function handleTouchStart(e) { function handleTouchStart(e) {
e.preventDefault(); e.preventDefault();
const canvas = document.getElementById('simulation-canvas');
// Check if we have multiple touch points (for dragging) // Check if we have multiple touch points (for dragging)
if (e.touches.length > 1) { if (e.touches.length > 1) {
isDragging = true; isDragging = true;
@ -176,6 +180,7 @@ function handleTouchStart(e) {
function handleTouchMove(e) { function handleTouchMove(e) {
e.preventDefault(); e.preventDefault();
const canvas = document.getElementById('simulation-canvas');
const rect = canvas.getBoundingClientRect(); const rect = canvas.getBoundingClientRect();
if (isDragging && e.touches.length > 1) { if (isDragging && e.touches.length > 1) {
@ -203,6 +208,9 @@ function handleTouchMove(e) {
// Set up event listeners // Set up event listeners
window.addEventListener('load', function() { window.addEventListener('load', function() {
// Get canvas reference after it's defined
const canvas = document.getElementById('simulation-canvas');
canvas.addEventListener('mousedown', handleMouseDown); canvas.addEventListener('mousedown', handleMouseDown);
canvas.addEventListener('mousemove', handleMouseMove); canvas.addEventListener('mousemove', handleMouseMove);
window.addEventListener('mouseup', handleMouseUp); window.addEventListener('mouseup', handleMouseUp);

View File

@ -1,6 +1,6 @@
// Main game variables and initialization // Main game variables and initialization
let canvas, ctx; let canvas, ctx;
let currentTool = SAND; // currentTool is already defined in input.js
let lastFrameTime = 0; let lastFrameTime = 0;
let fps = 0; let fps = 0;
let debugMode = false; let debugMode = false;