如何在OpenGL(GLUT)和C++;? 我在OpenGL(GLUT)和C++中编写游戏战舰。
我知道如何处理图形(如显示字段和预定义的船舶), 但是我应该把我的游戏代码放在哪里,比如:如何在OpenGL(GLUT)和C++;? 我在OpenGL(GLUT)和C++中编写游戏战舰。,opengl,logic,glut,Opengl,Logic,Glut,我知道如何处理图形(如显示字段和预定义的船舶), 但是我应该把我的游戏代码放在哪里,比如: 如果按了向左键,请向左选择一个字段并显示它 如果放置了船,则显示该船 在display()函数中,我无法执行放置船只(在字段之间切换)之类的操作,但如果放置船只,则必须由display()函数绘制,对吗 我不知道把游戏逻辑放在哪里。GLUT提供了拦截鼠标键盘事件的功能,如 void keyboardDown(unsigned char key, int x, int y); void mouseCli
- 如果按了向左键,请向左选择一个字段并显示它
- 如果放置了船,则显示该船
我不知道把游戏逻辑放在哪里。
GLUT
提供了拦截鼠标键盘事件的功能,如
void keyboardDown(unsigned char key, int x, int y);
void mouseClick(int button, int state, int x, int y);
void mouseMotion(int x, int y);
您可以重新实现这些函数以获得程序的自定义行为
例如,如果要在用户按下“s”后绘制船舶,则可以在键盘向下
功能中将全局标志设置为1。然后,在显示功能中,您可以检查该标志。如果它是1
,那么您将绘制您的船
当然,如何放置/移动船舶取决于您:)
有关更多信息,请查看GLUT提供的拦截鼠标键盘事件的功能,如
void keyboardDown(unsigned char key, int x, int y);
void mouseClick(int button, int state, int x, int y);
void mouseMotion(int x, int y);
您可以重新实现这些函数以获得程序的自定义行为
例如,如果要在用户按下“s”后绘制船舶,则可以在键盘向下
功能中将全局标志设置为1。然后,在显示功能中,您可以检查该标志。如果它是1
,那么您将绘制您的船
当然,如何放置/移动船舶取决于您:)
有关更多信息,请查看您要查找的是基本的、经典的。实际上,您的游戏运行在一个巨大的循环中。在这个循环中,您处理用户输入,对用户输入做出反应,运行AI,并更新视频/音频作为响应。当然,这是一个非常简单的方案,但它足以满足战列舰的需要 在概念上,或多或少:
while(Game.IsRunning)
{
Input = GetInput();
Game.Update(Input);
Display(Game);
}
如果您实际上是在进行实时更新,而不是事件驱动的更新,那么您需要将自上次更新以来经过的时间以及玩家输入考虑在内。我会尽量简短,仅限于你的提问。你要找的是最基本、最经典的。实际上,您的游戏运行在一个巨大的循环中。在这个循环中,您处理用户输入,对用户输入做出反应,运行AI,并更新视频/音频作为响应。当然,这是一个非常简单的方案,但它足以满足战列舰的需要 在概念上,或多或少:
while(Game.IsRunning)
{
Input = GetInput();
Game.Update(Input);
Display(Game);
}
如果您实际上是在进行实时更新,而不是事件驱动的更新,那么您需要将自上次更新以来经过的时间以及玩家输入考虑在内。我会尽量简短,只限于你的提问