diff --git a/frontend/src/views/minigames/TaxiGame.vue b/frontend/src/views/minigames/TaxiGame.vue index 8e57aa1..b1ae889 100644 --- a/frontend/src/views/minigames/TaxiGame.vue +++ b/frontend/src/views/minigames/TaxiGame.vue @@ -3588,13 +3588,20 @@ export default { let w = rect.width; let h = rect.height; if (rect === this.taxi) { - w = Math.max(0, rect.width * 0.70); // 70% der visuellen Breite - h = Math.max(0, rect.height * 0.90); // 90% der visuellen Höhe + // Taxi: Realistische Kollisionsbox basierend auf SVG (297x506 in 512x512 frame) + // Das Taxi ist etwa 1.7:1 (Länge:Breite) - also länger und breiter als normale Autos + // rect.width und rect.height variieren je nach Rotation + w = Math.max(0, rect.width * 0.95); // Länge ~95% (größer für bessere Kollision) + h = Math.max(0, rect.height * 0.80); // Breite ~80% (größer für bessere Kollision) } else if (rect.isCar) { - // Autos fahren nur links/rechts → Fahrzeuglänge = horizontal (w), Fahrzeugbreite = vertikal (h) - // Daher: Länge kaum kürzen, Breite deutlich schmaler - w = Math.max(0, rect.width * 0.90); // Länge ~90% - h = Math.max(0, rect.height * 0.57); // Breite ~65% + // Autos: Realistische Kollisionsbox basierend auf SVG (219x512 in 512x512 frame) + // Das reale Auto ist sehr lang und schmal (etwa 2.3:1 Verhältnis) + // rect.width=60, rect.height=50 + // Die längere Dimension (60) entspricht der Fahrzeuglänge + // Die kürzere Dimension (50) entspricht der Fahrzeugbreite + // Kollisionsbox sollte die schmale Breite berücksichtigen + w = Math.max(0, rect.width * 0.90); // Länge ~90% (54px von 60px) + h = Math.max(0, rect.height * 0.50); // Breite nur ~50% (25px von 50px) wegen schmalem SVG } const hw = Math.max(0, w / 2 - pad); const hh = Math.max(0, h / 2 - pad); @@ -3741,9 +3748,9 @@ export default { this.ctx.restore(); - // Debug: permanenten Crash-Bereich (Hitbox) der Autos anzeigen - const obb = this._buildObb(car, 2); - this._drawDebugPoly(obb.corners, 'rgba(255,165,0,0.15)', '#ffa500'); + // Debug: permanenten Crash-Bereich (Hitbox) der Autos anzeigen (deaktiviert) + // const obb = this._buildObb(car, 2); + // this._drawDebugPoly(obb.corners, 'rgba(255,165,0,0.15)', '#ffa500'); }); },