Begrenze die Anzahl der erstellten Finger auf MAX_TOUCHES und verhindere die Auswahl, wenn die maximale Anzahl erreicht ist.

This commit is contained in:
2026-02-22 11:13:06 +01:00
parent 532a887119
commit 3b6f152e65

View File

@@ -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));
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();