我不是数学家,但我不知何故将游戏开发作为一种爱好.
从来没有研究过基本数学以外的任何东西,我很难弄清楚如何反转某些东西的角度,面向相反的方向,沿着X轴和横跨Y轴.
一张图片说的超过1000个单词(特别是没有受过教育的单词):http: //img156.imageshack.us/i/wihwin.png/
我基本上想要扭转粘附在机器人上的大炮物体的方向.当机器人从面向右转向左侧时,我(180 - angle)按照每个人的建议做了,但它确实颠倒了角度,使得大炮在瞄准时向上瞄准.所以,我需要做点别的事,但它逃避了我的知识.
换句话说,我在2D工作,所以我想要一个面朝右的角度.我的角度定义如下:
我希望瞄准角度为91的东西在颠倒时变为89.没有Z轴存在.任何人都会非常友好地帮助我吗?
在回答你的编辑你想要的是
-( x - 90 ) + 90
Run Code Online (Sandbox Code Playgroud)
即
180 - x
Run Code Online (Sandbox Code Playgroud)
当然,如果您使用的是标准的C三角函数,那么您可能会使用弧度而不是度数
M_PI - x
Run Code Online (Sandbox Code Playgroud)
基本上这分为三个步骤
编辑:刚刚注意到这与@Paul R相同,但您似乎认为这不正确?
如果不了解游戏中大炮的定义方式,这个问题很难回答,但我会尝试给出一些指导。
听起来好像你的大炮是从侧面看的,你希望它从右向左转动,但保持大炮朝上。计算取决于 0 的方向以及角度是顺时针还是逆时针。
如果角度为 0 时,大炮笔直向上,则角度是从笔直向上顺时针方向测量的。因此,反向角度将为-角。如果负角度不起作用,则使用(360 度角度)。
如果角度为 0 时,大炮指向右侧,角度为 45 指向右下角,则向上的大炮角度为 180 到 360 度,其中 270 度为垂直向上。因此,要反转角度,您可以使用(540 角)。
如果角度为 0 时,大炮指向右侧,但角度为 45 指向右上角,则大炮角度为 0 到 180。要反转角度,请使用 (180-angle)。
我希望这有帮助!李。
| 归档时间: |
|
| 查看次数: |
10496 次 |
| 最近记录: |