From 3b6f152e658acc76ad51a22adffdd1235de20d9a Mon Sep 17 00:00:00 2001 From: Tobias Leuschner Date: Sun, 22 Feb 2026 11:13:06 +0100 Subject: [PATCH] Begrenze die Anzahl der erstellten Finger auf MAX_TOUCHES und verhindere die Auswahl, wenn die maximale Anzahl erreicht ist. --- js/app.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/js/app.js b/js/app.js index 2520017..10821fc 100644 --- a/js/app.js +++ b/js/app.js @@ -1,6 +1,7 @@ document.addEventListener('DOMContentLoaded', function(){ const stage = document.getElementById('stage'); const touches = new Map(); // id -> {el,x,y} + const MAX_TOUCHES = /iPhone/.test(navigator.userAgent) ? 5 : 20; let selecting = false; let selectionDone = false; let selectionTimer = null; @@ -131,9 +132,12 @@ document.addEventListener('DOMContentLoaded', function(){ stage.addEventListener('touchstart', function(e){ e.preventDefault(); const changed = Array.from(e.changedTouches || []); - changed.forEach(t=>createFinger(t)); - cancelSelection(); - selectionTimer = setTimeout(startSelectionIfNeeded, 700); + const prevSize = touches.size; + changed.forEach(t=>{ if(touches.size < MAX_TOUCHES) createFinger(t); }); + if(touches.size > prevSize){ + cancelSelection(); + selectionTimer = setTimeout(startSelectionIfNeeded, 700); + } }, {passive:false}); stage.addEventListener('touchmove', function(e){ e.preventDefault();