以降のフレームを削除するjsflコマンド

2008.08.09 07:06

20080809.jpg

Flashで大量のレイヤーを扱う上で、どのレイヤーを何に使ったのかわからなくなってしまう!っていうか新規レイヤー無駄にフレーム伸びすぎ!という悩みをお抱えのあなたに朗報です。「選択部分以降のフレームを削除する」コマンド”FinalizeFrame”を作ってみました。

 finalizeframe.zip

 使い方は上記zipファイルを解凍して、中のjsflファイルをこの記事後半で解説したフォルダに放り込むだけです。ショートカットはF12やCtrl+F5あたりがおすすめです。以下解説やソースなど。

処理自体は非常に単純なんですが、jsflのソースでも書いておきます。

//タイムラインを変数に格納
var CurrentTimeline = fl.getDocumentDOM().getTimeline();

//今の再生ヘッドの位置を取得
var FramePosition = CurrentTimeline.currentFrame;

//今のレイヤーの総フレームの数を取得
var FrameTotal = CurrentTimeline.frameCount;

//再生ヘッドの先にフレームがあるなら
if ((FrameTotal - FramePosition) > 0) {

	//その先にあるフレームの数だけ
	for(i =0; i < (FrameTotal - FramePosition); i++){

		//削除!削除!削除!
		CurrentTimeline.removeFrames();
	}

	//最後に空白キーフレームでキャップ
	CurrentTimeline.convertToBlankKeyframes();
}

動作自体は非常に単純ですが、これでレイヤーを「使い捨てていく」だけで、だいぶソースを管理しやすくなると思います。

最後に空白キーフレームを打っているのはほぼ好みの問題なので取り除いちゃっても構いません。但し最後に空白キーフレームがないと 、フレームをまとめてコピーする際に以降のフレームが埋められてしまうので誤動作の原因になります。フレームコピーが矩形限定なのがいけないのですが。

One Comment to “以降のフレームを削除するjsflコマンド”

  1. 散蓮華 » Blog Archive » 拡張機能のまとめのまとめ:

    […] Mattari Blog - 以降のフレームを削除するjsflコマンド […]

Comment