MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setAttribute(Qt::WA_AcceptTouchEvents); installEventFilter(ui->btn_left); installEventFilter(ui->btn_right); installEventFilter(ui->btn_up); connect(ui->btn_left, SIGNAL(Pressed()), this, SLOT(ClickLeft())); connect(ui->btn_left, SIGNAL(Released()), this, SLOT(ReleaseLeftRight())); connect(ui->btn_right, SIGNAL(Pressed()), this, SLOT(ClickRight())); connect(ui->btn_right, SIGNAL(Released()), this, SLOT(ReleaseLeftRight())); connect(ui->btn_up, SIGNAL(Pressed()), this, SLOT(ClickUp())); connect(ui->btn_up, SIGNAL(Released()), this, SLOT(ReleaseUp())); ui->btn_left->RotateImage(90); ui->btn_right->RotateImage(-90); ui->btn_up->RotateImage(180); engine = new GameEngine(this); engine->setCamera(ui->graphicsView); engine->InitScene(":/map/map_tank.tmx"); ui->summary->setVisible(false); ui->summary->setText("Tanque\tDisparo\tAcerto\tMorte"); connect(ui->toolButton, SIGNAL(pressed()), this, SLOT(SwapSummary())); }
void MainWindow::keyPressEvent(QKeyEvent *e) { if(!e->isAutoRepeat()) { if(e->key() == Qt::Key_Left) ClickLeft(); else if(e->key() == Qt::Key_Right) ClickRight(); else if(e->key() == Qt::Key_Up) ClickUp(); else if(e->key() == Qt::Key_Back || e->key() == Qt::Key_Escape) close(); } }
bool MOUSE::PressInRect(RECT dest) { return ClickLeft() && Over(dest); }