dポイントプレゼントキャンペーン実施中!

flash 8です。
全体の長さを単純に5倍にしたいのですが、1フレームづつ伸ばすしかないのでしょうか。
レイヤーが複数あるのでそれだと時間がかかるので、全選択して×5、みたいなことをやりたいのです。
うまく表現できずに恐縮ですが、どなたか救いの手を!

A 回答 (1件)

>> うまく表現できずに恐縮ですが、…



と書かれていますが,
いえいえ,よくわかりましたよ。
そう言えば,そんなことがしたいと思うことがたまにありますね。
しかし,そんな方法は知らないので(多分ないので),
JSFL (Flash JavaScript) を使いましょう!
この際作ってみました。

次の点線内↓をメモ帳などテキストエディタにコピーし,

--------------------------------------
// ※最終フレームを記入↓
var lastFrame = 30;
// 最終フレームから順にfor文ループ
for (i=lastFrame-1; i>=0; i--) {
// 表示されているタイムラインに4フレームずつ挿入
fl.getDocumentDOM().getTimeline().insertFrames(4, true, i);
}
--------------------------------------

そのファイルを 「任意の名前.jsfl」 で操作したいFLAファイルと同じフォルダに保存し,
目的の FLA ファイルを Flash 8 で開いた状態にして,
「コマンド」→「コマンドの実行」→
→さっき保存した「任意の名前.jsfl」を選択→開く
で,開いているタイムラインが5倍になると思います。
(保存するときの拡張子が jsfl ですよ。
 「任意の名前.jsfl.txt」ではありません。)

実行する前に,
変える部分があります。

 // ※最終フレームを記入↓
 var lastFrame = 30;

この部分を,
作成中のフレーム数にしてください。
30 と書いてあるのは例で,
最終フレームが30の場合は var lastFrame = 30; となります。

また,
これは今作成中のFLAファイルでは実行しないでください。
それと別名でFLAファイルを保存して,実験でうまく行ったら,本番ファイルで使うようにしてください。

「フレームを5倍にする」
ということを手作業ですると,
1フレーム選択しては,「フレームの挿入」を4回。
1フレーム選択しては,「フレームの挿入」を4回。
を繰り返すということです。

最初のフレームから順に挿入していくと,
挿入したフレームによってフレームがずれてうまく行かないので,
最終フレームから順に 4 フレームずつ挿入して行くというスクリプトにしてあります。
これは Excel で,例えば空白セルを削除したい場合,
最終セルから順に処理をしていくのと同じテクニックです。


JSFL とは,初耳かもしれませんが,
Excel や Word でいうところの マクロ にあたるものです。
ASファイルが,SWFファイル(エンドユーザ環境)で実行されるファイルであるのに対し,
JSFLファイルは,FLAファイル(オーサリング環境)で実行されるファイルです。


上記の JSFL は,ヘルプを参考にして,
ほぼそのままのスクリプトを for文ループさせるようにしただけのものです↓。

Flashドキュメンテーション
Flash の拡張機能 >オブジェクト >
  Timeline オブジェクト >timeline.insertFrames()
http://livedocs.macromedia.com/flash/8_jp/main/0 …
> シンタックス
> timeline.insertFrames([numFrames [, bAllLayers [, frameNumIndex]]])
>
> 次の例では、すべてのレイヤーに最初のフレームの位置から
> 4 つのフレームを挿入します。
> fl.getDocumentDOM().getTimeline().insertFrames(4, true, 0);


ActionScript については,
結構知っているつもりですが,JSFL に関してはド素人です。
不具合への対応や,上のスクリプトのさらに応用などはできません。
なにかありましたら,すみませんが,ご自分で作り直してください。

JSFL に関しては,
ヘルプが最もくわしく,わかりやすく,参考になります。
(つまり,ヘルプ以外に良い参考URLがありません。)

下記,参考URL↓の左ウィンドウの
「Flash の拡張機能 」から,五百数十ページにわたって詳しく書かれています。
ネット上のヘルプは重いですから,なるべくご自分のPCのヘルプを参考にしてください。

参考URL:http://livedocs.macromedia.com/flash/8_jp/main/w …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!少し微調整が必要そうですができました!!
手動でやるより相当効率的です。詳しく書いていただいたので応用もききそうです♪
ヘルプもちょっとめまいがしそうなボリュームですが、JSFL 勉強してみようと思います。本当にありがとうございました。

お礼日時:2006/09/07 17:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!