我想在负载上以恒定速度自动移动opengl中的二维圆,然后用键盘控制它以平滑移动。
现在我有用键盘移动圆圈的代码,但每次按键它只移动一个单位。
我想要按键时平稳移动,加载时自动移动。
我想在负载上以恒定速度自动移动opengl中的二维圆,然后用键盘控制它以平滑移动。
现在我有用键盘移动圆圈的代码,但每次按键它只移动一个单位。
我想要按键时平稳移动,加载时自动移动。
使用 glTranslatef 移动您的对象,或者您可以在按下键盘键时在每个更新周期中将其位置 x,y,z 调整设定量。
例如
const float MOVE_AMOUNT = 5.0;
public void Update()
{
if (Keyboard.IsKeyDown("a"))
circle.position.x -= MOVE_AMOUNT;
else if (Keyboard.IsKeyDown("d"))
circle.position.y += MOVE_AMOUNT;
}
注意:这不是有效的 C++ 语法,但它给出了你需要做的整体逻辑,你应该能够从中弄清楚。如果您想要 glTranslate 示例,请告诉我。