我有“glutKeyboardFunc(键盘);”在我的主要功能中,我如何检测用户何时按“逗号”或完全停止。我想在XZ平面的左边移动(strafe)一个距离,当按下逗号时。按下完全停止时,在XZ平面中向右移动。当前代码没有响应。
if(key==GLUT_KEY_UP)
{
eyez = eyez + RUN_SPEED;
}
else if(key==GLUT_KEY_DOWN)
{
eyez = eyez - RUN_SPEED;
}
else if(key==',')
{
eyex = eyex - RUN_SPEED;
}
else if(key=='.')
{
eyex = eyex - RUN_SPEED;
}
答案 0 :(得分:1)
glutKeyboardFunc()
回调仅适用于ASCII类型的密钥。我很惊讶你从中得到箭头键事件。
为非ASCII密钥创建glutSpecialFunc()
回调。
答案 1 :(得分:1)
亲爱的UoM学生注册COMP27112,这里需要的是逗号和点的ASCII码。
分别是44和46。
case 44:
// Comma
break;
case 46:
// Dot
break;