0

私はテトリスゲームを実装しています。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;
        }
...
}
4

1 に答える 1