Как получить координаты изображения с помощью SFML?

Я программирую автомобильные гонки, и я подошел к этапу установки препятствий на дороге.

Чтобы разместить каждый из них в правильном положении, я решил написать координаты, которые я получаю с помощью этой функции:

Mouse::getPosition(RenderWindow)

Проблема в том, что все изображение дороги невидимо, и вы можете видеть другие части только тогда, когда автомобиль движется, в то время как функция getPosition() возвращает координаты окна, а не координаты изображения.

Есть ли какая- либо функция или метод для их преобразования?

1 ответ

Я нашел ответ: Чтобы получить текущую позицию мыши в окне:
sf:: Vector2i pixelPos = sf:: Mouse:: getPosition (Window).
И преобразовать его в мировые координаты:
sf:: Vector2f worldPos = Window.mapPixelToCoords (pixelPos).
Чтобы написать координаты на экране:
cout<<worldPos.x<<worldPos.y<<'\n',
Даже когда вид изменится, этот метод даст вам реальные координаты изображения.

Другие вопросы по тегам