Progression 4.0.1 Public Beta 1.3でのPRMLLoader

僕はProgression3からPRMLLoaderを使ってシーン構成を生成することが多いいのですが、Progression4になって仕様が変わり、こちらのブログを参考にさせて頂いて使っていたのですが、Public Beta 1.3になってどうもディープリンクが上手く作動していないことに気付く。Public Beta 1.2までは大丈夫だったとにと思い、twitterでつぶやいてみると、nium先生からご教示が!! 結論から言うと、PRMLLoaderには、autoGotoというプロパティーがあって、デフォルトでtrueとなっているので、PRMLLoaderで読んだprml.xmlに自動的に移動する→そのあとディープリンクのシーンに移動するという処理になるようで、IndexSceneのatSceneDescend()を通らずに、自動遷移するatSceneInit()を通るとのこと。今までの認識で書いて2重に書いていたみたい。 _prml.autoGoto = false; としたら無事直りました。nium先生ありがとうございます。 とりいそぎcreateFromXMLを使ってシーン構成を生成したんやけど、PRMLLoader、createFromXML、addSceneFromXMLの使い分けがまだよくわかっておらず。flabakaさんの「PRMLLoaderとaddSceneFromXMLの使い分け」に書かれているように、「一気に全シーンを作成したい場合はPRMLLoader。任意の(シーンの)子シーンを作成したい場合は、addSceneFromXMLを使うのかな? と個人的に思っています。」ということみたいですけど。そうなるとcreateFromXMLはどうなんでしょ?すごい人誰か教えてくださいw。 あっコメントは最近スパムが多くなったので切っちゃったのでtwitterなりなんなりで出来たらお願いします(__)いいかげんこのブログもデザインしなければと思いつつ。。。 僕はProgression4でもPRMLLoaderを使っていこうかと思っているのですが、せっかくcreateFromXMLも使ってみたので、汚いソースですが晒しておきます。正しい使い方かどうかもわかりませぬが; package michinoko { import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import jp.progression.Progression; import jp.progression.casts.*; import jp.progression.commands.display.*; import jp.progression.commands.lists.*; import jp.progression.commands.net.*; import jp.progression.commands.tweens.*; import jp.progression.commands.*; import jp.progression.config.*; import jp.progression.data.*; import jp.progression.debug.*; import jp.progression.events.*; import jp.progression.scenes.*; import michinoko.scenes.*; /** * … * @author michinoko * [...]

getResourceByIdとgetResourcesByGroup

progression4もPublic Beta 1.3になって、またBeta 1.2でokやったのが、NGになってたり色々と仕様が変わりつつあるけど、とりあえずprogression4の新機能Resourceを使ってみました。カヤックさんの「Progression4の新機能Resourceを試してみる」などを参考に。 ついでにPreloadSWFも試してみたかったので、ロード処理はPreloader.asに書く。 //Preloader.asのatCastLoadStart()内、ex外部画像(img/gaibu1.png~img/gaibu5.png)の5枚を読み込む場合 var _loadCmd:LoadCommand; for (var i:int = 1; i

progression4 タイムライン上のroot

やっとこさprogression4を触りだし、来週くらいには会社HPの実績に作ったprogression4のサイトがアップされるはず。。。触った感触としては3よりも全然早い! で、へなちょこFlasherの僕としてはタイムライン上にmcなどを置いて確認したり、各シーンからアクセスしたりもするんやけど、progression3のときCastDocument.root.instanceNameでアクセスしていたような気がするけどprogression4では使えない。。。んー?とちょっと詰まるも結論から言えば、MovieClip(CastDocument.root).instanceNameでアクセスできる。 そういや、parentを使うときも、parent.gotoAndPlay();でなく、MovieClip(parent).gotoAndPlay();とするなぁと納得。 ちなみに今回のは、PRMLLoaderを使って動的にシーンを作成して、各シーンは子swfをprogressionでなく普通のflaファイルで作成してみました。いつもprogression3でやっていたカタチがprogression4でもできたので、ひとまず上出来かなと。 LoadSWF関連はoshige先生の「さらにLoadSWF()が続く」を参考にさせていただきました。本当にいつもお世話になってます(__)。 あれprogression3のときって、_mc = MovieClip( MovieClip( CastDocument.root ).getChildByName( “instanceName” ) );でアクセスしていたような気もする。。。テストやモック以外ではタイムライン上のmcにアクセスすることがなくなっているのであやしめ。 >>2010.02.03追記 通常の場合は、MovieClip( CastDocument.root )でよいみたいやけど、SceneLoaderを使っている場合は、CastDocumentが変わるので、MovieClip(container)のほうが無難ぽい。