【发布时间】:2019-08-11 04:59:17
【问题描述】:
当我按下“B”键时,我希望能够在 5 种背景颜色之间循环。现在我只能将颜色更改为红色。我不确定我是否以正确的方式解决这个问题。任何帮助,将不胜感激。
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods) {
if (key == GLFW_KEY_B && action == GLFW_PRESS)
{
for (int i = 0; i < 5; i++)
{
switch (i)
{
case 0:
glClearColor(1.0, 0.0, 0.0, 1.0);
break;
case 1:
glClearColor(0.0, 1.0, 0.0, 1.0);
break;
case 2:
glClearColor(0.41, 0.41, 0.41, 1.0);
break;
case 3:
glClearColor(1.0, 1.0, 1.0, 1.0);
break;
case 4:
glClearColor(0.0, 0.0, 1.0, 1.0);
return;
}
}
}
}
【问题讨论】:
-
你已经接近了。使用全局变量作为计数器。如果键等于 B,则递增计数器,然后打开计数器的新值以运行正确的
glClearColor函数。
标签: c++ visual-studio opengl visual-c++ glfw