yoppa.org


immediate bitwave

多摩美 – Media Lab. I 2018

第12回: openFrameworks 複数のシーンの管理・切替え、ofxStateMachine

時間の経過でシーンを切り替えたい、ユーザーとのインタラションによっていくつもの画面を用意したいなど、openFrameworksで作品をつくる際に、1つのアプリケーションの中で複数の場面を切り替える必要が出てくる場合があります。そうした際にofAppクラスの中に全ての場面を詰め込もうとすると、各操作での条件分岐などが複雑になり、扱いが大変となります。

今回は、大量の場面を効率的に取り扱う方法について考えていきます。今回は、こうした複数のシーンを管理する方法を2種類紹介します。1つ目は、ofBaseApp (ofAppの元となっているクラス) を継承したBaseSceneというクラスを作成して、ofAppからBaseSceneの配列を管理することでシーンを切り替える方法です。2つ目は、Addonを利用する方法です。ofxStateMachineを利用すると複数の状態(State)とその遷移を、とてもスマートに実装可能です。

スライド資料

サンプルコード