Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
Java OpenGL向上运动_Java_Opengl_Lwjgl_Game Physics - Fatal编程技术网

Java OpenGL向上运动

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()))); 问题是,不管我

我正在使用LWJGL OpenGL创建一个游戏。要移动播放器(宇宙飞船),我将根据播放器的Y轴旋转移动X和Z:

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()),谢谢!如果你不介意的话,你能解释一下这是怎么回事吗?谢谢。哦,我想我明白了,相邻的和低剂量的