Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XNA精灵旋转点_C#_Math_Xna_Rotation - Fatal编程技术网

C# XNA精灵旋转点

C# XNA精灵旋转点,c#,math,xna,rotation,C#,Math,Xna,Rotation,我在XNA忙着一个自上而下的小射手。现在我有一个小数学问题: 我有一个精灵,一个拿着9毫米手枪的人。现在精灵查看鼠标光标。 当我射击时,我想在枪管末端显示一点枪口闪光。但是,旋转角色时,桶体末端的坐标将发生变化 例如,当枪管末端在玩家头部上方14px时,如何在作为枪管末端的精灵中获得正确的坐标?(自上而下) 所以基本上我需要知道如何得到一个与原点成一定角度的圆中某一点的坐标 谢谢 x=orig.x+cos(alpha)*r; y=orig.y+sin(alpha)*r; 式中,alpha是x

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

例如,当枪管末端在玩家头部上方14px时,如何在作为枪管末端的精灵中获得正确的坐标?(自上而下)

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

谢谢

x=orig.x+cos(alpha)*r;
y=orig.y+sin(alpha)*r;
式中,alpha是x轴与延伸筒体的线之间的角度;r是圆的半径(桶的长度)

一个或两个
+
可能必须替换为“-”,具体取决于坐标系的方向(或在正确操作之前,向alpha添加90度的倍数(最多270度)

式中,alpha是x轴与延伸筒体的线之间的角度;r是圆的半径(桶的长度)


一个或两个
+
可能必须替换为“-”,具体取决于坐标系的方向(或通过向alpha添加90度的倍数(最多270度),直到正确为止).

如果口吻闪光是方向性的,则需要将其原点设置为后中心,并应用与对人体精灵所做的相同旋转。如果口吻闪光是方向性的,则需要将其原点设置为后中心,并应用与对人体精灵所做的相同旋转。