小编Dmi*_*lov的帖子

在 Qt C++ 中使用多个键

我正在构建“Tanks”游戏,其中我使用 Key 事件在地图上运行我的坦克。实际上我当时只能使用一个键,但我需要有同时上下左右的能力。

这是我的单键事件代码:

switch(event->key())
{
case Qt::Key_Up:
    if(!ui->widget->playerList[playerID]->canMove(0.3, 20, 20, -20, -20, 1.5)) return;
    ui->widget->playerList[playerID]->move(0.3);
    ui->widget->updateGL();
    break;
case Qt::Key_Down:
    if(!ui->widget->playerList[playerID]->canMove(-0.2, 20, 20, -20, -20, 1.5)) return;
    ui->widget->playerList[playerID]->move(-0.2);
    ui->widget->updateGL();
    break;
case Qt::Key_Right:
    ui->widget->playerList[playerID]->rotate(10);
    ui->widget->updateGL();
    break;
case Qt::Key_Left:
    ui->widget->playerList[playerID]->rotate(-10);
    ui->widget->updateGL();
    break;
case Qt::Key_Q:
    ui->widget->playerList[playerID]->rotateCannon(10);
    ui->widget->updateGL();
    break;
case Qt::Key_E:
    ui->widget->playerList[playerID]->rotateCannon(-10);
    ui->widget->updateGL();
    break;
default:
    QMainWindow::keyPressEvent(event);
    break;
} 
Run Code Online (Sandbox Code Playgroud)

c++ qt

4
推荐指数
1
解决办法
2444
查看次数

标签 统计

c++ ×1

qt ×1