向量数学,求角度

2024-02-14

我试图通过编写一个小型 2D 游戏来学习 XNA,它是一个自上而下的视角,我尝试进行双重移动,使用左右和上下键沿轴移动,以及向右看鼠标光标,以便玩家可以同时奔跑和瞄准。

我有一个用于玩家位置的向量 (m_PlayerPos),一个用于鼠标位置的向量 (m_MousePos),我试图获得朝向鼠标位置的正确角度。

我使用公式方法:



public static float Angle(Vector2 from, Vector2 to)
{
    return (float)Math.Atan2(from.X - to.X, from.Y - to.Y);
}
  

这是可行的,但由于某种原因,该方法只能沿 x 轴工作一半。当鼠标位于玩家的正左侧或右侧时,玩家向右看鼠标。

但是,如果我移动到播放器的顶部,它会向下看,如果鼠标位于播放器的下方,则播放器会向上看。所以我需要反转 Y 轴,但我不知道如何反转。

预先感谢您的任何反馈。


Use to.Y - from.Y.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向量数学,求角度 的相关文章

  • MonoGame真的跨平台吗?

    当我下载 MonoGame 我将使用它来代替 XNA 因为我使用的是 Mac 并解压它时 所有 MonoDevelop 解决方案文件都被命名为MonoGame Framework PLATFORM NAME sln with PLATFOR
  • 使用步骤 c++ 构建向量

    是否可以在不使用 C 中的循环的情况下以固定步骤创建从一个值到另一个值的向量 例如 我想用步长 0 5 构建一个从 1 到 10 的向量 在 MATLAB 中我可以按如下方式执行此操作 vector 1 0 5 10 c 中有类似的东西吗
  • 方案中的多维向量?

    我之前问过一个关于方案中数组的问题 结果它们被称为向量 但在其他方面基本上与您期望的相同 有没有一种简单的方法可以在 PLT 方案中处理多维 arrays 向量 出于我的目的 我想要一个名为make multid vector或者其他的东西
  • 矩阵向量变换

    我正在编写一个代码来制作软件蒙皮器 骨骼 皮肤动画 并且我正处于 优化 阶段 蒙皮器工作得很好 并且在 Core 上 1 09 毫秒内对 4900 个三角形网格与 22 个骨骼进行蒙皮Duo 2 Ghz 笔记本 我需要知道的是 1 有人可以
  • 使用 jQuery 对 CSS 变换进行动画处理

    我正在尝试为 div 制作动画 并让它绕 y 轴旋转 180 度 当我调用以下代码时 出现 jQuery 错误 my div animate transform rotateY 180deg webkit transform rotateY
  • 当设备方向改变时以编程方式更新约束的正确方法?

    我在用着storyboard and autolayout 并将 IB 中的约束设置为IBOutlet在相应的视图控制器中 我正在阅读几篇关于如何将纵向和横向的约束更新为不同的帖子 但我仍然不确定应该如何执行此操作 我应该设置新的限制吗 v
  • 如何在 switch 语句中将向量作为参数传递

    我对问题的谷歌搜索没有返回有用的结果和文档 switch没有告诉我如何做 所以我希望我能在这里得到答案 假设我有一个向量 cases lt c one two three 我想使用 switch 语句并将这些元素作为 switch 语句的参
  • 如何在 C++ 中为 MPL 向量的所有成员显式实例化模板?

    考虑以下头文件 Foo h class Foo public template
  • 是否允许将 std::vector 的元素插入到同一向量中?

    考虑以下insert and emplace的成员函数std vector
  • 如何在 C++ 中获取两个向量共有的字符?

    我正在尝试比较两个向量对象 并返回一个包含两个向量中出现的所有字符的向量 如果不编写一些非常复杂的手动方法 将第一个向量中的每个字符与第二个向量中的每个字符进行比较 并使用 if 将其添加到第三个向量 如果它们匹配 将返回 我将如何解决这个
  • 如何使对象在以表单呈现时“可缩放”

    我正在 Winform 中渲染我的游戏 方式与本示例中的方式相同 WinForms系列1 图形设备 http xbox create msdn com en US education catalog sample winforms seri
  • SASS如何在旋转body时使页面完整的高度和宽度?

    我必须旋转我的身体并做到这一点全高 and 全屏宽度 嗯 我用的是vh公制并且非常适合width但身高还是不太合适 我不得不旋转 90 度但是height and width仍然指相同的方向not rotate PS 我添加了 red以便更
  • std::vector 迭代器失效

    之前有几个关于这个问题的问题 我的理解是调用std vector erase只会使位于某个位置的迭代器无效after被擦除的元素 然而 擦除一个元素后 该位置的迭代器是否仍然有效 当然 前提是它不指向end 擦除后 我对向量如何实现的理解似
  • js中将div旋转到一定高度

    How to rotate a div to certain height suppose 10px I can rotate a div otherwise around 360 degrees I need the angle by w
  • 在 Chrome 中使用 webkit-transform 旋转时出现不稳定的文本抗锯齿效果

    我正在使用旋转元素 webkit transform rotate 在 Chrome 14 0 835 2 dev m 中 它对元素内的文本做了一些非常奇怪的事情 它让我想起了在 Photoshop 中使用 平滑 抗锯齿而不是 清晰 旋转文
  • C++ std::vector 搜索值

    我正在尝试优化std vector 搜索 基于索引的迭代向量并返回与 搜索 条件匹配的元素 struct myObj int id char value std vector
  • 访问结构向量

    我有一个结构 struct OutputStore int myINT string mySTRING 如果我创建一个 OutputStore 类型的数组 如下所示 OutputStore OutputFileData new Output
  • 在 std::vector> 中迭代 const T&

    我有一堂这样的课 class RPNExpr std vector
  • 如何随机打乱向量中的元素

    我正在尝试完成一项需要发生以下情况的作业 请求所需的元素数量 n 用元素 0 1 2 n 1 填充向量并将其显示到控制台 随机打乱元素并将新的排列显示到控制台 我可以输入向量 但我不知道如何对向量进行洗牌 注意 我不能使用 random s
  • 如何从横滚、俯仰和偏航获取相机向上矢量?

    我需要从滚动角 俯仰角和偏航角 以度为单位 获取相机的向上矢量 以获得正确的外观 我已经尝试了几个小时不同的事情 但没有运气 这里的任何帮助将不胜感激 横滚 俯仰和偏航定义 3 轴旋转 从这些角度 您可以构建一个 3x3 变换矩阵来表达该旋

随机推荐