C++ 用GLUT移动3D形状?
我正在做一个蛇游戏 这是我的蛇:C++ 用GLUT移动3D形状?,c++,opengl,glut,C++,Opengl,Glut,我正在做一个蛇游戏 这是我的蛇: void snake() { glPushMatrix(); glColor3f(1,1,1); glTranslatef(t,cy,cz); glutSolidCube(0.9); glPopMatrix(); } 当我按下一个键时,我试图让蛇继续朝一个方向移动。 我尝试这样做: void keyboard(unsigned char key, int x, int y) { if(key=='z'){cz-=1;} if(
void snake()
{
glPushMatrix();
glColor3f(1,1,1);
glTranslatef(t,cy,cz);
glutSolidCube(0.9);
glPopMatrix();
}
当我按下一个键时,我试图让蛇继续朝一个方向移动。
我尝试这样做:
void keyboard(unsigned char key, int x, int y)
{
if(key=='z'){cz-=1;}
if(key=='s'){cz+=1;}
if(key=='q'){cx-=1;}
if(key=='d'){cx+=1;}
if(key=='a'){cy-=1;}
if(key=='w'){cy+=1;}
glutPostRedisplay();
}
它工作得很好,但我希望它继续移动,直到我换了钥匙
我不知道该怎么做
有什么帮助吗?提示:您希望以某种方式存储这些
c{x,y,z}{+,-}=1
来表示您的蛇的速度,从关键事件中更新它们,然后使用它们的值。为此,您可以使用什么?本文将帮助您:您需要创建一个转换matrix@Asesh我很确定OP已经实现了显示,但需要关于数据存储的帮助。@Quentin我真的不明白你的意思,请你解释一下。@Asesh是的,我已经实现了显示。提示:你想以某种方式存储这些c吗{x,y,z}{+,-}=1
表示snake的速度,从关键事件中更新它们,然后使用它们的值。为此,您可以使用什么?本文将帮助您:您需要创建一个转换matrix@Asesh我很确定OP已经实现了显示,但需要数据存储方面的帮助。@Quentin我真的不明白你的意思,可以吗请你再解释一下。@Asesh是的,我已经完成了展示。