こんにちは、chikathreesixです。
先日作者のniumさんにProgression次期バージョンの新機能などを話しに来ていただきました!
詳しくは伏せますが、次期バージョンもとにかく凄いものになりそうです!!
さて、遅くなってしまいましたが、Flash座談会第二回の内容をまとめます。
(行われたのは先週です。。遅くなってすみません。。。)
僕も
先日公開した案件で初めてProgressionデビューしたのですが、とにかく使いやすいことに驚きました。
今回の座談会ではクラスベースで開発するProgressionの基本的な部分を発表しました。
本当に初歩的な部分すぎてお恥ずかしいのですが、まとめたいと思います。
1)シーンについてシーンはSceneObjectを継承して生成するのですが、これに4つのイベントハンドラメソッドがあります。
詳しくは
Progressionのサイトにあるドキュメントを見ていただければと思いますが、僕はなかなか理解できなかったので簡単にまとめます。
・onInit
自分に到着したときに実行される。
・onGoto
自分から出発したときに実行される。
・onLoad
自分の下に行く時と自分に到着したときに実行される。
・onUnload
自分の上に行く時と自分から出発した時に実行される。
つまり自分に到着するときは、onLoadとonInitが必ず実行され、
自分から出発するときは、onGotoとonUnloadが必ず実行されます。
fladdictさんのエントリが非常にわかりやすかったです。
2)キャストについてシーンのイベントハンドラメソッド内でキャストをAddChildとかRemoveChildで出現させたり、退却させたりします。
その時に実行されるイベントハンドラメソッドが2つあります。
・onCastAdded
キャストがAddChildクラスかAddChildAtによってaddChildされたときに実行される。
・onCastRemoved
キャストがRemoveChildクラスかRemoveChildAtによってremoveChildされたときに実行される。
この中にDoTweenerとかを書けばシーン遷移時のキャストの出し入れが、順番に行われます。
ちなみに、CastButtonにはこれらのイベントハンドラメソッドはありません。
3)カスタムコマンドについてCommandクラスを継承することで、上記のAddChildやDoTweenerと同じように使えるカスタムコマンドが作れます。
これも非常に簡単で、コマンドが実行されたときに行う処理を_execute()内に記述し、
中断されたときの処理を_interrupt()内に記述します。
処理が終わったタイミングでexecuteComplete()を実行すればよいだけです!
非常に簡単ですね。
ものすごいざっとまとめてしまいましたが、結論としては慣れれば非常に使いやすく、なくてはならない存在になるフレームワークだということです。
Progressionデビューは遅くなってしまいましたが、これからどんどん使っていこうと思います。