如何使用SFML获取图像的坐标?

时间:2015-08-11 15:10:17

标签: c++ algorithm sfml

我正在编写一个赛车游戏,我来到了在道路上设置障碍的阶段。

要将每一个放在正确的位置,我选择使用此函数编写我得到的坐标:

Mouse::getPosition(RenderWindow)

问题是道路的整个图像是不可见的,只有当汽车移动时你才能看到其他部分,而函数getPosition()则返回窗口的坐标而不是图像的坐标。 / p>

是否有任何功能或方法进行转换?

1 个答案:

答案 0 :(得分:0)

我找到了答案:在窗口中获取当前鼠标位置:
sf :: Vector2i pixelPos = sf :: Mouse :: getPosition(Window)。
并将其转换为世界坐标:
sf :: Vector2f worldPos = Window.mapPixelToCoords(pixelPos)。
在屏幕上写下坐标:
cout<<worldPos.x<<worldPos.y<<'\n'
即使视图发生变化,此方法也会为您提供图像的真实坐标。