Progression備忘録

先月Progressionをはじめて案件で導入しました。
全画面表示、Macでのマウスホイール、個別ページURLの設定等、Progressionの恩恵を様々授かったのですが、初めてということでいろいろ躓いたことや、反省点も。
それらを備忘録として晒しておきます。
使用したバージョンは3.1.82

■CastButton継承クラスを使わないシーン移動

途中までシーン移動するトリガーボタンはCastButtonを継承したクラスをひとつひとつ作っていました。
が、途中CastButtonを使わなくても”execute()“メソッドでProgressionのコマンドは実行出来ることを教えてもらいました。

//シーンhogeへ移動
new Goto(new SceneId("hoge")).execute();

またテンプレートとなるシーンやボタンクラスを作っておけば、こんな感じでそれらを一括で作成することができます。

for (var i:int = 0; i <= total; i++)
{
	/*SCENE_ARRAYには各シーンIDを格納*/
	var scene:CommonScene = new CommonScene( SCENE_ARRAY[i] );

	/*引数のオブジェクトに自由に値を付加できる
	  initObject.sIdで取り出し移動先を振り分けする*/
	var btn:CommonBtn = new CommonBtn( { sId:SCENE_ARRAY[i] } );
}
 

■シーン遷移時の処理は計画的に

Progressionの肝であるシーン遷移。
自分は各シーンにcontainerというコンテンツの入れ物(CastMovieClip継承)を作っていったのですが、
ただシーン移動をするだけでも前のシーンのcontainerの”_onCastRemoved“やシーンの”_onGoto“,”_onUnload“、次のシーンの”_onLoad“,”_onInit“、さらにこのシーンのcontainerの中などいろんなところに処理を書くことができます。
それぞれきちんと役割や実行される順番があるのですが、これがどうして適当に書いていってもなんとなく動いてしまいます。
結果、必要以上にいろんなところにコードが分散してしまいました。ボタンの処理も中と外にそれぞれロールオーバーの処理が書いてあったり。。。
『作りたいものは、楽しいところだけ作る』のProgressionですが、しっかりそこらへん挙動を把握したうえで最低限プロジェクトでのルール決めはしましょう、当たり前ですが。
下記サイトに書かれているとおり基本”onLoad“と”onUnload“という考え方が良さそうです。
http://www.muraken.biz/blog/2009/06/02/case-study-of-progression-vol2/

■Tweenerのトランジションに注意

細かい動きはフレームアニメーションでつくり、DoTweenerコマンドで実行。
しかし動きが何だか変だ。
これはProgressionというよりTweenerの話ですがtransitionプロパティの初期値は”linear“ではなく”easeOutExpo“となぜか尖った動きとなっています。
このままではせっかく調整したフレームアニメが台無しなので、しっかり”linear“指定してやります。

// 実行したいコマンドを登録します。
addCommand(
	// "end"フレームまで2秒かけてアニメーション
	new DoTweener(this , { _frame:"end" , time:2 , transition:"linear" } )
);
 

■Preloaderの注意

これもProgressionサイトに限った話ではないですが嵌ったこと。
全シーン共通で使用する静的パラメーターを一つのクラスにまとめて管理していたのですが、
そこへ加えた修正が何故か反映されない。
検証するとindex.swf単体で動作させたときは問題なく修正されていることを確認。
原因はpreloaderからもそのクラスを参照していたため、その時点で該当クラスがインスタンス化されていたことによるもの。
preloaderは修正していない状態でパブリッシュしたものをそのまま使用していたため、preloaderを通すと修正が反映されていなかったというわけ。
以降修正のたびにpreloaderも書き出しなおし&アップし直しということになってしまい、設計段階で切り分けはしっかりしましょうねという教訓になりました。

 

とまあいろいろボロボロでしたがその便利さは十分実感できました。
今回はネット上のドキュメントの豊富さからProgression3で制作しましたが、いろいろバグも修正されているようなので次回はProgression4で制作したいと思います。

KTweenを使ってみる

フラッシュをやる上で現状必須と言えるTweenライブラリ。
既に開発・サポートが終了したTweenerをいつまでも使っているはどうなのよと、
乗り換え先を探していたところKawa.netさんが軽量・高速に特化したTweenライブラリ、
KTweenを開発したということで飛びついてみた。
いくら最近のPCのスペックが良いとはいえ、軽いに越したことはなし。
仕事ではもっとサクサク動くようにならないのかと戻されることもままあり、
チューニングに四苦八苦するのですが、ライブラリの中味まで手が届かず
もどかしい思いをすることも。
最初から最速、すばらしい。

“KTweenを使ってみる” の続きを読む