• ベストアンサー

タイムラインを5倍の長さにしたい

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.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/00004994.html > シンタックス > 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/wwhelp/wwhimpl/js/html/wwhelp.htm?href=00004335.html
sasami_jerky
質問者

お礼

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

関連するQ&A