私はテトリスゲームを実装しています。Qt Designer で Frame ウィジェットを描画しました。次に、そのフレームから継承する QtGlass を編成しました。したがって、Qt Designer では、これは QtGlass クラスを持つオブジェクト フレームのように見えます。次に、既存の制限 (壁など) 内でフィギュアを動かしたいと思います。以下に示すように実装しようとしています。
QtGlass オブジェクトに到達できないという事実に遭遇しました。なので、isMovementPossible()というメソッドがあることは知っていますが、使い方がわかりません。私の QtGlass インスタンスは「フレーム」と呼ばれているようですが、この名前を使用すると、「identifire フレームを解決できません」というエラーが表示されます。
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;
...
}
Figure.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;
}
...
}