我正在编写一个赛车游戏,我来到了在道路上设置障碍的阶段。
要将每一个放在正确的位置,我选择使用此函数编写我得到的坐标:
Mouse::getPosition(RenderWindow)
问题是道路的整个图像是不可见的,只有当汽车移动时你才能看到其他部分,而函数getPosition()
则返回窗口的坐标而不是图像的坐标。 / p>
是否有任何功能或方法进行转换?
答案 0 :(得分:0)
我找到了答案:在窗口中获取当前鼠标位置:
sf :: Vector2i pixelPos = sf :: Mouse :: getPosition(Window)。
并将其转换为世界坐标:
sf :: Vector2f worldPos = Window.mapPixelToCoords(pixelPos)。
在屏幕上写下坐标:
cout<<worldPos.x<<worldPos.y<<'\n'
。
即使视图发生变化,此方法也会为您提供图像的真实坐标。