Rob*_*Rob 19 c# angle rotation game-physics
假设我在2D空间中有一个可以旋转的物体,然后应该根据其旋转角度移动.
例如:
如果角度为0(向上指向),那么on_timer它应该将Y移动1,将X移动X.
如果角度为45,那么它应该由Y移动1和X移动1.
如果指向90度,则0表示Y,1表示X.
如果指向135度,则由Y表示-1,由X表示+1,等等.
你知道计算这个的任何函数吗?
gjv*_*amp 29
好吧,它似乎以不同的速度移动不同的角度.
对于0度(直线向上),它移动了1,但是45岁,它移动了sqrt(1 ^ 2 + 1 ^ 2)= 1.41.
我想你想看看Sin和Cos.
X += Speed * Math.Cos(angle);
Y += speed * Math.Sin(angle);
Run Code Online (Sandbox Code Playgroud)
关心Gert-Jan