QT按键判断和碰撞检测的问题,紧急求助啊!!!3Q
2014-05-29 15:20
330 查看
在写贪吃蛇, 发现QT按键判断不对劲啊。。。
已经弄好过滤器那些了, 但是如果快速按←↓→的话 (或者其他按的很快的情况) 就会出现比如本来向右 然后直接掉头向左 本来向左 直接掉头向右的情况。。。。这是为什么呢?
还有碰撞检测第一次可以检测成功 接下去就再也检测不了了 这是为什么。。。。求助!!!~~~万分感谢
下面是按键过滤器的代码和按键事件的代码。。。
bool CONTROLLER::eventFilter(QObject *object, QEvent *event)
{
if (event->type() == QEvent::KeyPress)
{ handleEvent((QKeyEvent *) event);
return true;
}
else
return QObject::eventFilter(object, event);
}
void CONTROLLER::handleEvent(QKeyEvent *keyEvent)
{
switch (keyEvent->key())
{
case Qt::Key_Left: Snake->setDirection(LEFT); break;
case Qt::Key_Right: Snake->setDirection(RIGHT); break;
case Qt::Key_Up: Snake->setDirection(UP); break;
case Qt::Key_Down: Snake->setDirection(DOWN); break;
}
已经弄好过滤器那些了, 但是如果快速按←↓→的话 (或者其他按的很快的情况) 就会出现比如本来向右 然后直接掉头向左 本来向左 直接掉头向右的情况。。。。这是为什么呢?
还有碰撞检测第一次可以检测成功 接下去就再也检测不了了 这是为什么。。。。求助!!!~~~万分感谢
下面是按键过滤器的代码和按键事件的代码。。。
bool CONTROLLER::eventFilter(QObject *object, QEvent *event)
{
if (event->type() == QEvent::KeyPress)
{ handleEvent((QKeyEvent *) event);
return true;
}
else
return QObject::eventFilter(object, event);
}
void CONTROLLER::handleEvent(QKeyEvent *keyEvent)
{
switch (keyEvent->key())
{
case Qt::Key_Left: Snake->setDirection(LEFT); break;
case Qt::Key_Right: Snake->setDirection(RIGHT); break;
case Qt::Key_Up: Snake->setDirection(UP); break;
case Qt::Key_Down: Snake->setDirection(DOWN); break;
}
相关文章推荐
- 紧急求助 组合问题
- 网站自动登陆、数据下载问题!紧急求助
- Cocos2dx 像素判断碰撞检测
- Cocos2d-x 3.0中 物理碰撞检测中onContactBegin回调函数不响应问题
- 学习 "使用cocos2d-x3.0和物理引擎实现碰撞检测" 中出现的一个问题
- 紧急求助:ComponentArt.treeview 的Target的问题
- cocos2dx 3.x 物理引擎接触检测掩码、碰撞掩码和类别掩码问题解析
- QT国际化示例, 检测系统语言,设置适合语言,按键切换显示语言
- Qt 两个lineEdit 判断焦点问题
- STM32中关于检测按键的一些问题(关于采用传统的延时消抖方式和采用中断方式)
- 碰撞检测体组建改进问题。
- 碰撞检测系统中的设计问题
- 关于ogrebullet中如何判断两个物体何时碰撞的问题
- QT国际化示例, 检测系统语言,设置适合语言,按键切换显示语言
- Qt之问题求助——当VS遇到“向Pro中添加代码”怎么办?
- 紧急求助!powerdesigner 12的问题!
- 关于检测元件中的透明度的问题,然后可以用来检测碰撞
- qt 两个lineEdit 判断焦点问题
- JAVA学习日志 坦克游戏 解决了对象数组的问题,检测碰撞,随机下落速度,计时,线程终止
- 关于cocosdx加载tmx地图和一些碰撞检测的问题