-1

我想在负载上以恒定速度自动移动opengl中的二维圆,然后用键盘控制它以平滑移动。

现在我有用键盘移动圆圈的代码,但每次按键它只移动一个单位。

我想要按键时平稳移动,加载时自动移动。

4

1 回答 1

1

使用 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 示例,请告诉我。

于 2013-10-28T00:27:49.023 回答