我正在实施俄罗斯方块游戏。在 Qt Designer 中,我绘制了一个 Frame 小部件。然后我组织了一个继承自该 Frame 的 QtGlass。因此,在 Qt Designer 中,这看起来像带有 QtGlass 类的对象框架。现在我想让人物在现有限制(墙壁等)内移动。我正在尝试实现它,如下所示。
好吧,我遇到了我无法到达我的 QtGlass 对象的事实。所以,我知道它有一个方法 isMovementPossible(),但我不知道如何使用它。我的 QtGlass 实例似乎被称为“框架”,但如果我使用这个名称,我会收到错误“无法解析识别框架”。
QtGlass.h
#ifndef QTGLASS_H
#define QTGLASS_H
#include <QFrame>
#include "Figure.h"
class QtGlass : public QFrame {
Q_OBJECT
public:
bool isMovementPossible();
protected:
Figure Falcon;
...
}
图.cpp
#include "Figure.h"
#include "QtGlass.h"
#include <QtGui>
#include <QtGui/QApplication>
void Figure::set_coordinates(int direction) {
previous_x = current_x;
previous_y = current_y;
switch (direction) {
case 1:
{//Qt::Key_Left:
current_x -= 1;
if (frame->isMovementPossible()) {
break;
}
current_x += 1;
break;
}
...
}