Как получить координаты изображения с помощью 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'
,
Даже когда вид изменится, этот метод даст вам реальные координаты изображения.