- 2009年04月13日 (月)
- Tweet
カスタムコマンド WaitableGotoコマンド
Progression に Goto コマンドというものがあり、指定したシーンまで遷移してくれる便利な機能があります。これを SerialList に登録する際に一個だけであれば問題ないのですが、二個三個と連続して登録すると、同時にシーン移動の制御が始まってしまいエラーが起きてしまいます。
そこでカスタムコマンドを作ってみました。
Gotoコマンドを連続して指定した場合
- デモ (Goto コマンド)
ページを開いた3秒後に以下のコマンドを発動するように設定しています
すべての画面遷移が同時に起こってしまい、ちょっと見苦しい感じになっています。
アクションスクリプト
// 通常の Goto コマンドを使った場合 import jp.progression.commands.*; import jp.progression.scenes.*; var com:SerialList = new SerialList(); com.addCommand( new Goto(new SceneId("/index/photo1")), new Goto(new SceneId("/index/photo2")), new Goto(new SceneId("/index/photo3")), new Goto(new SceneId("/index/photo4")) ) com.execute();
WaitableGotoコマンドを連続して指定した場合
そこで、画面遷移の完了を待ってから次の画面遷移を行うコマンドを作ってみました。名前は「WaitableGoto」コマンド。
- デモ (WaitableGoto コマンド)
ページを開いた3秒後に以下のコマンドを発動するように設定しています
こちらは画面遷移が完了してから、次の画面に遷移するようになっています。
アクションスクリプト
import jp.progression.commands.*; import jp.progression.scenes.*; import jp.progression.*; import jp.clockmaker.commands.*; var prog:Progression = getProgressionById("index"); var com:SerialList = new SerialList(); com.addCommand( new WaitableGoto(new SceneId("/index/photo1"), prog), new WaitableGoto(new SceneId("/index/photo2"), prog), new WaitableGoto(new SceneId("/index/photo3"), prog), new WaitableGoto(new SceneId("/index/photo4"), prog) ) com.execute();
2009年04月15日(水) 01:47
WaitableGotoコマンド、素敵です!
かなり使い勝手が良さそう…
サンプルプロジェクトですが、CS3形式にしていただけると、助かります~!
2009年04月15日(水) 23:34
コメントありがとうございます〜!
CS3形式のflaをProgression SVNにコミットしておきました!
サンプルプロジェクト(CS3)版
2009年04月17日(金) 12:45
ありがとうございます~!