はじめに
Qt 4.
Qtのステートマシンフレームワークは,
- ・
ステートチャートコンパイラ - SCXML記述をQtステートマシンフレームワークのC++コードに変換するコンパイラ
(scc, State Chart Compiler)。 - ・
QtScript用 (QScxmlを利用) - ・
WebKitベースのブラウザ用 - Qt Labs BlogsのページではQt Webkit, Arora, Safari, Chromeなどを使って,
実際にデモを動かす ことができます。
動画1 WebKitブラウザ用デモの模様
そしてさらに,
今回紹介するアニメーションプログラムのソースリストはこちらからダウンロードしてください。
examples.zip
ステートマシンフレームワークのクラス
図1は,
表1
クラス名 | 機能概要 |
---|---|
QStateMachine | ひとつの階層型有限状態機械。 |
QState | 状態機械中の状態で, |
QFinalState | 状態機械中の終了状態。 |
QHistoryState | 前の活性化された副状態への復帰に用いる。 |
QEventTransition | Qtのイベント対するQObjectに特化した遷移で, |
QKeyEventTransition | キーイベントによって引き起される遷移。 |
QMouseEventTransition | マウスイベントによって引き起される遷移。 |
QSignalTransition | Qtのシグナルによって引き起される遷移。 |
アニメーションの書き換え
詳しい説明は次回に回し,
図2は,
startState状態は,
- ボタンのテキストに "Start" をセットする。
- 3つのボタンの位置を (startX, y) にセットし,
位置を左端にする。
endState状態は,
- ボタンのテキストに"Reset"をセットする。
- 3つのボタンの位置を (startX, y) にセットし,
位置を左端にする。
movingBallTransition遷移は,
resetTransition遷移は,
前回の説明で補足したように,
これを実行させた模様は次の動画のようになります。
動画2 書き換えたアニメーション
では,