1

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

例如,当桶的末端在玩家头部上方 14 像素时,如何在作为桶末端的精灵中获得正确的坐标?(自上而下) 在此处输入图像描述

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

谢谢!

4

1 回答 1

4
x=orig.x+cos(alpha)*r;
y=orig.y+sin(alpha)*r;

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

一个或两个+s 可能必须替换为“-”,具体取决于坐标系的方向(或者在 alpha 上添加 90 度的倍数(最多 270),直到你做对了)。

于 2012-04-03T21:08:17.920 回答