【问题标题】:XNA Sprite Rotation PointXNA 精灵旋转点
【发布时间】:2012-04-03 20:59:23
【问题描述】:

我正忙于 XNA 中的一个小型自上而下的射击游戏。现在我有一个小数学问题: 我有一个精灵,一个拿着 9mm 的人类。现在精灵看着鼠标光标。 射击的时候,我想在枪管末端显示一点枪口闪光。但是,当您旋转角色时,枪管末端的坐标会发生变化。

例如,当桶的末端在玩家头部上方 14 像素时,我如何才能在作为桶末端的精灵中获得正确的坐标?(自上而下)

所以基本上我需要知道如何获取与原点有一定角度的圆中某个点的坐标。

谢谢!

【问题讨论】:

    标签: c# math xna rotation


    【解决方案1】:
    x=orig.x+cos(alpha)*r;
    y=orig.y+sin(alpha)*r;
    

    其中 alpha 是 x 轴与延长桶的线之间的角度; r 是圆的半径(桶的长度)。

    +s 中的一个或两个可能必须替换为“-”,具体取决于坐标系的方向(或者尝试将 90 度的倍数(最多 270)添加到 alpha 直到你得到没错)。

    【讨论】:

    • 如果枪口闪光是定向的,您需要将其原点设置在其后部中心,并应用与人类精灵相同的旋转。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多