c++ - 鼠标相对于 sf::view 的位置

标签 c++ sfml

我制作了一个以玩家 Sprite 的头像为中心的 View ,经过 3 天的头脑 Storm ,我得到的(基本上)是这个:

    xVeiwMouse = xWindowMouse - Playerx;//(new mouse coord) = (mouse coord relitive to window) - (playersprite coord)
    yVeiwMouse = yWindowMosue - Playery;//same, but with y

这是行不通的。

我需要鼠标相对于以玩家为中心的 View 的坐标。

最佳答案

是这样的吗?

sf::Vector2f mouse_pos = window.mapPixelToCoords(sf::Mouse::getPosition(window));
sf::Vector2f relative = player.getPosition() - mouse_pos;

查看官方文档和教程以获得对所用功能的进一步解释。

关于c++ - 鼠标相对于 sf::view 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29201727/

相关文章:

c++ - 在游戏循环中使用 sleep() 会使增量时间不稳定

c++ - Qt 中的 SFML 2.1 小部件

c# - SFML 3D 鼠标外观

c++ - 错误 'map' 未在此范围内声明

开源项目中的 C++ 类设计模式

c++ - 如何在 Ubuntu Linux 上转储 .la 文件中的符号?

c++ - SFML 环境中缺少 OpenGL 函数

c++ - 计算定向运动的算法

c++ - 在 C++ 中计算毫秒的可移植方法?

c++ - QSqlQuery不起作用