Для преобразования координат в данной функции используется округление в меньшую сторону с помощью метода Math.floor. Это может привести к небольшим погрешностям в результатах, особенно когда значения не кратны размеру текстуры.
Если вы хотите получить более точные результаты, вы можете использовать округление до ближайшего целого числа с помощью метода Math.round:
Это позволит получить более точные результаты при преобразовании координат. Надеюсь, это поможет вам исправить проблему с неправильными значениями координат.
Для преобразования координат в данной функции используется округление в меньшую сторону с помощью метода Math.floor. Это может привести к небольшим погрешностям в результатах, особенно когда значения не кратны размеру текстуры.
Если вы хотите получить более точные результаты, вы можете использовать округление до ближайшего целого числа с помощью метода Math.round:
export function canvasCoordinatesToMapCoordinates(coordinates: ICoordinates,
camera: Camera,
textureSize: number
): ICoordinates {
const coordinateX = Math.round((coordinates.x + camera.x) / textureSize);
const coordinateY = Math.round((coordinates.y + camera.y) / textureSize);
return {
x: coordinateX,
y: coordinateY,
};
}
Это позволит получить более точные результаты при преобразовании координат. Надеюсь, это поможет вам исправить проблему с неправильными значениями координат.