screenToViewport?


23.05.2024, 19:12
.

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du musst nur die Bildschirmkoordinaten und die Kamera-Offset-Koordinaten durch this.canvas.zoom dividieren, um den Zoom-Faktor zu berücksichtigen. Anschließend musst du dass selbe mit der Leinwand, also (scaleX und scaleY) machen, um die angepasste Größe der Leinwand im Viewport zu berücksichtigen.

 // Apply camera position offset to screen coordinates

einfach screenPosition.x + this.camera.x * 2 in Klammern setzen und hinten dran dann / this.canvas.zoom;

 // Convert adjusted screen coordinates to canvas coordinates

hier dass selbe, nur brauchst du hier keine Klammer zu setzen

Probiere mal alle 2er Werte mit this.canvas.zoom auszutauschen