Java OpenGL向上运动
我正在使用LWJGL OpenGL创建一个游戏。要移动播放器(宇宙飞船),我将根据播放器的Y轴旋转移动X和Z:Java OpenGL向上运动,java,opengl,lwjgl,game-physics,Java,Opengl,Lwjgl,Game Physics,我正在使用LWJGL OpenGL创建一个游戏。要移动播放器(宇宙飞船),我将根据播放器的Y轴旋转移动X和Z: float dx = distMoved * sin(toRadians(getRotY()))); float dz = distMoved * cos(toRadians(getRotY()))); 这一切都很好,但是,对于向上运动,我使用以下代码,这有点有效: float dy = distMoved * sin(toRadians(getRotX()))); 问题是,不管我
float dx = distMoved * sin(toRadians(getRotY())));
float dz = distMoved * cos(toRadians(getRotY())));
这一切都很好,但是,对于向上运动,我使用以下代码,这有点有效:
float dy = distMoved * sin(toRadians(getRotX())));
问题是,不管我上下旋转,我的球员似乎向前移动了相同的量(X和Z),这意味着我的球员可以朝上90度,并且仍然移动X和Z
在计算X和Z运动之前,我尝试从“distMoved”中减去dy,但这并不能提供正确的运动
有人知道我该怎么做吗?
dx
和dz
都必须乘以cos(toRadians(getRotX()),谢谢!如果你不介意的话,你能解释一下这是怎么回事吗?谢谢。哦,我想我明白了,相邻的和低剂量的