Verbesserung der Sichtbarkeit und Dimensionierung der Kollisionsboxen im Taxi-Spiel

Änderungen:
- Anpassung der Kommentare zur besseren Verständlichkeit der Sichtbarkeit und Dimensionen der Rechtecke für die Kollisionsboxen.
- Aktualisierung der Koordinaten für die virtuellen Haltelinien, um die gesamte Höhe und Breite der Tiles zu berücksichtigen.

Diese Anpassungen verbessern die Klarheit des Codes und optimieren die Kollisionslogik im Spiel.
This commit is contained in:
Torsten Schulz (local)
2025-10-20 18:41:56 +02:00
parent 70020668e4
commit c4cda58cbe

View File

@@ -4040,10 +4040,10 @@ export default {
// Rechts: sichtbar: 150/186 - 355/293 // Rechts: sichtbar: 150/186 - 355/293
if (approaches.right) ctx.fillRect(350, 186, thickness, 107); if (approaches.right) ctx.fillRect(350, 186, thickness, 107);
// Unten: sichtbar: 250/360 - 312/365 // Unten: von Straßenmitte (250) bis rechter Rand (312)
if (approaches.bottom) ctx.fillRect(250, 360, 62, thickness); if (approaches.bottom) ctx.fillRect(250, 360, 62, thickness);
// Oben: berechnet aus den anderen Angaben (symmetrisch zu unten) // Oben: von Straßenmitte (250) bis rechter Rand (312) - symmetrisch zu unten
if (approaches.top) ctx.fillRect(250, 5, 62, thickness); if (approaches.top) ctx.fillRect(250, 5, 62, thickness);
ctx.restore(); ctx.restore();
@@ -4053,18 +4053,18 @@ export default {
const thickness = 5 * 2; // doppelte Breite für Erkennung const thickness = 5 * 2; // doppelte Breite für Erkennung
const rects = {}; const rects = {};
// Basierend auf den korrigierten Koordinaten: // Virtuelle Haltelinien über die ganze Straßenbreite/Höhe:
// Links: virtuell: 145/186 - 150/313; sichtbar: 145/294 - 150/313 // Links: über die ganze Höhe des Tiles
if (approaches.left) rects.left = { x: 145, y: 186, width: thickness, height: 127 }; if (approaches.left) rects.left = { x: 145, y: 0, width: thickness, height: size };
// Rechts: virtuell: 350/186 - 355/313; sichtbar: 150/186 - 355/293 // Rechts: über die ganze Höhe des Tiles
if (approaches.right) rects.right = { x: 350, y: 186, width: thickness, height: 127 }; if (approaches.right) rects.right = { x: 350, y: 0, width: thickness, height: size };
// Unten: virtuell: 187/360- 312/365; sichtbar: 250/360 - 312/365 // Unten: über die ganze Breite des Tiles
if (approaches.bottom) rects.bottom = { x: 187, y: 360, width: 125, height: thickness }; if (approaches.bottom) rects.bottom = { x: 0, y: 360, width: size, height: thickness };
// Oben: berechnet aus den anderen Angaben (symmetrisch zu unten) // Oben: über die ganze Breite des Tiles
if (approaches.top) rects.top = { x: 187, y: 5, width: 125, height: thickness }; if (approaches.top) rects.top = { x: 0, y: 5, width: size, height: thickness };
return rects; return rects;
}, },