4 つの異なる QState を作成しましたが、すべての状態遷移で 1 つのオブジェクトを非表示にしたいと考えています。
これはコードです:
QStateMachine partita;
QState *inizio_mano = new QState();
QState *aspetto_G1_primo = new QState();
QState *aspetto_G1_secondo = new QState();
QFinalState *fine_mano = new QFinalState();
partita.setInitialState(inizio_mano);
inizio_mano -> addTransition(this,presa==true,aspetto_G1_primo);
inizio_mano -> addTransition(this,presa==false,aspetto_G1_secondo);
aspetto_G1_primo -> addTransition(this,stato==true,fine_mano);
aspetto_G1_secondo -> addTransition(this,stato==true,fine_mano);
presa
とstato
はbool
、プログラムの次のステップで変更する 2 つです。
これQGraphicsScene
で、シーンに と が追加されましたQGraphicsPixmapItem
。
たとえば、アイテムを隠しているシーンを更新したい:
if(presa==true) {object1->hide();}
QState を (この場合は からinizio_mano
にaspetto_G1_primo
) 変更する必要があることを理解しており、トランジションを追加しました。
しかし、どうすればそのアイテムを非表示にできますか?
QStateaspetto_G1_primo
をどのように接続できますかobject1 -> hide();
正しく説明したことを願っています。
私の主な問題は、各 QState にシーンの異なる構成を割り当てるにはどうすればよいですか?