c++ - 检查鼠标是否在旋转的 Sprite 上方? C++

标签 c++ math

我正在用 C++ 制作游戏。这是一个纸牌游戏。我制作了 13 张卡片,它们围绕一个点旋转以形成弧形以组成您的手牌。我需要一种方法来确定用户点击了哪张卡片。我的卡片基本上是围绕卡片中心的一个点旋转的矩形。我正在考虑获取鼠标点并围绕我的中心点旋转它,但我不确定如何围绕一个点旋转一个点。谢谢。

最佳答案

围绕p旋转a

诀窍是通过平移将绕点旋转减少为绕原点旋转。

  1. 从a中减去p(移动到原点)
  2. Rotate by angle
  3. 将 p 添加到结果点(再次移动)

绕原点旋转(x, y)的公式:

alt text

关于c++ - 检查鼠标是否在旋转的 Sprite 上方? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1548741/

相关文章:

c++ - 指针分配的函数地址显示与函数地址不同的值

c++ - 在 C++ 中读取另一个进程的标准输出

c# - 需要添加2个数字的代码

algorithm - while 循环的运行时间(数学)

algorithm - 如果顶点随机连接,则连接图形所需的预期边数?

math - 为什么计算机科学中有8个和256个如此重要的数字?

c++ - 在 C 中转换为 unsigned char

c++ - 交叉编译一个automake项目?

PyQt4 看不到 C++ 实例化的 QApplication

php - 计算 cargo /元素堆的尺寸