« かばくん | Home | ハルピン »

Jan 152009

MovieClip.addFrameScript

Flashには幾つかundocumented functionが存在するのだけど、そのうちの一つ"addFrameScript"。
存在は知っていたのだけど、今まで上手く動作せず、どーしたもんかしら?と放置していた。ちと今回どうしても使いたくなってきたので改めてClassを見てみたらこんな感じだった。

// NON-DOCUMENTED (MANUAL ADDITION)
/**
* Attach a callback method to a frame. Note that this will replace any timeline code or
* previously attached callback.
* The callback method should not expect any parameter.
* @param frame Target frame number (starting from 0).
* @param notify Callback method to attach.
*/
public function addFrameScript(frame:uint, notify:Function):void;

やー (starting from 0).だった。これだけで長い間放置していた・・・汗

ちなみに複数フレームに一気に追加する場合には

addFrameScript(5, aho,6,aho2);

削除する場合には

addFrameScript(5, null);

となります。
ちなみにflashguruでは

addFrameScript(9,output,false,false);

というような記述がありますが、これは動作確認取れませんでした。


ちなみにProgressionの"ExMovieClip"クラスではループ再生制御のためにコンストラクタで

addFrameScript( totalFrames - 1, _complete );

されているので、ループさせる場合等には1フレーム程多目にフレームを定義しておかないとフレームアクションが上書きされてしまいます。


Ref.FlashGuru Consulting - Undocumented Actionscript 3

2 Comments

あああ、上書きの件は気付いていませんでした・・・。
今後のアップデートで何かしらの対策をとらせて頂きますね。

あけましておめでとうございますw

対策結構難しそうな感じですが・・。オデも少し考えてはみたのですがすぐに断念して、1フレーム増やしましたw

神の実装を楽しみにしております。

Leave a comment

Search and Archives