c++ - move 对象 (OpenGL)

标签 c++ object move

我正在使用 OpenGL 在 C++ 中编写程序。

我的游戏有一艘船和敌船。

此刻我可以 move 我的船,因为我对我的键盘很满意。

但我很乐意给我的敌舰一些 move 。例如,它们位于特定坐标 x、y 和 i 中,我希望有一种方法可以在一定时间内将它们重复向右 move 5 步,向左 move 5 步。

有什么想法吗?

最佳答案

您可以使用 void glutTimerFunc(unsigned int msecs,void (*func)(int value), value); 第一个参数是以毫秒为单位的时间,第二个参数是更新敌舰坐标的函数。详细说明可以找here.您可以在下面看到如何使用它。

void update(int value) {
//do your logic to change the cordinate of the enemy ships
glutPostRedisplay();
glutTimerFunc(25, update, 0);
}

这是函数名称更新,您可以在其中放置更改敌舰坐标的逻辑。在它里面你看到了 glutTimerFunc,其中时间是 25 毫秒,它意味着每 25 毫秒调用一次函数更新,敌舰的坐标根据你的逻辑变化。您必须在主函数中调用 glutTimerFunc。

int main(int argc,char** argv)
{
 //your program code
  glutTimerFunc(25, update, 0);
}

关于c++ - move 对象 (OpenGL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246476/

相关文章:

javascript - 如何从对象内部获取属性名称以创建新的属性名称?

javascript - AngularJS:使用 DTO 模型

c++ - 具有默认参数构造的 noexcept 说明符

c++ - 如何在 C++ 中的另一个函数中调用一个线程的 "join()"方法?

python - 在 C++ 中使用 Python 对象

python - 在 Pandas 中按名称将列 move 到表格的前面

string - move std::runtime_error 的构造函数

c++ - 使用单个函数实现复制和 move 赋值

c++ - 从一个 vector 中移除另一个 vector 的元素

c++ - 当派生类的析构函数是虚拟的而基类的 dtor 不是时代码崩溃