作者percussionsd (牵牛花开的日子)
看板GameDesign
标题[问题] openGL方向键控制?
时间Wed Dec 17 21:01:47 2008
哈罗~~大家好
现在碰到一个问题
写了老鼠走迷宫之後
要用键盘控制老鼠上下左右
原本是设计用英文字元来控制
但是想要改良成用键盘的方向键(↑↓← →)
查了一下关於方向键的code
// this function handles events for special keys such as the arrow keys or
function keys.
void special(int key, int x, int y) {
switch(key) {
case GLUT_KEY_UP:
// do something
break;
case GLUT_KEY_DOWN:
// do something
break;
case GLUT_KEY_LEFT:
// do something
break;
case GLUT_KEY_RIGHT:
// do something
break;
default:
break;
}
}
因为我的case想要有一个要按ESC离开
请问如果要加上ESC应该要打什麽才可以使用??
再来我改成以上方式...
却无法使老鼠依方向键移动...
code如下...
void keyboard(unsigned char key, int x, int y)
{
int width = WIDTH, height = HEIGHT;
switch (key)
{
case 'q': case 'Q'://暂用q,想改成ESC
exit(0);
break;
case GLUT_KEY_UP:
if((maze+m)->up)
{
m-=width;
mymouse(1);
PrintMaze (maze, width, height);
}
break;
case GLUT_KEY_RIGHT:
if((maze+m)->right && 255!=m)
{
m++;
mymouse(2);
PrintMaze (maze, width, height);
}
break;
case GLUT_KEY_DOWN:
if((maze+m)->down)
{
m+=width;
mymouse(3);
PrintMaze (maze, width, height);
}
break;
case GLUT_KEY_LEFT:
if((maze+m)->left && 0!=m)
{
m--;
mymouse(4);
PrintMaze (maze, width, height);
}
break;
}
}
改成这样子,只有把case後面的字元改成GLUT_KEY_xxxx:
但是无法动作...
不知道大家可否跟我说哪里出问题
编译是没有问题
但是就是无法动作
非常感谢...
新手>"<多多包函
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.115.189.27
※ 编辑: percussionsd 来自: 59.115.189.27 (12/17 21:02)
1F:→ percussionsd:我知道原因了>"< 不过似乎不能使用ESC键? 12/17 22:22
2F:→ Macchiati:ESC请使用 case 27: 12/17 23:29