Amazonで商品を見るセール会場へ

【Flash】Flashのスクリプト「jsfl」の作り方

以下は保存されていた過去原稿をもとにした操作記録です。

掲載画像やメニューは当時のもので、現行版での再現試験は行っていません。

Flash CS6で、制作アプリの操作を自動化するJSFLを試した記録です。まずalertのような変更を伴わない例から試し、文書を変更するコードは作業用の複製で実行してください。

2020年末にサポートが終了したFlash Playerと、制作アプリ内で動くJSFLを区別してください。

これまでFlashやブラウザゲームの制作経験はなく、初心者としての検証記録となります。

目次

Flashスクリプト(JSFL)の実行方法

  1. テキストに下記のコードをコピペして、「alert.jsfl」という名前で保存
alert("テスト!");

ファイル名がalert.jsfl.txtになっていないか、拡張子まで確認します。

  1. コマンド>コマンドを実行から「alert.jsfl」を選択します。

「テスト!」というダイアログが出れば、この例の実行結果を確認できます。

表示されない場合は、選んだファイルとコード内の半角引用符を確認してください。

メニューのコマンドからコマンドを実行を選び、作成したスクリプトファイルを選択して実行する手順を示す画面。
スポンサーリンク

旧Flash CS6で使った「jsflEdit」の記録

当時は次の拡張機能を使いました。

現在のAnimateへ古いMXPやExtension Managerをそのまま導入する手順ではありません。

まずは「コマンドを実行」で短いJSFLを動かす方法から確認してください。

http://www.kuma-de.com/program/2009-06-24/897

  1. Flash用jsflEdit.mxpのダウンロード
  2. Flash>ヘルプ>エクステンションの管理からAdobe Extension Managerを起動
  3. ファイル > 拡張機能をインストール
  4. Flashを再起動して、ウインドウ>他のパネル>jsflEditを起動。アラートを実行してみて実行できることを確認。
拡張機能管理ツールでのインストールを経て、ウインドウメニューからパネルを起動して動作確認するまでの流れ。

Flashスクリプト(JSFL)の調べ方

  1. ウインドウ>他のパネル>ヒストリーのパネルを開く
  2. たとえば「新規レイヤー」のコマンドを選択して保存アイコンを押して保存する
  3. 下記の場所に「新規レイヤー.jsfl」というようにスクリプトが生成されます。
C:\Users\ユーザー名\AppData\Local\Adobe\Flash CS6\ja_JP\Configuration\Commands

履歴のすべての操作を保存できるわけではありません。

Adobeは、フレームの選択や文書サイズの変更などを、コマンドとして保存できない操作の例に挙げています。

保存してもメニューに現れない場合は、選んだ履歴の操作が対象になるか確認します。

コマンドメニューからの実行方法

下記のパスにスクリプトファイル(.jsfl)を配置します。

掲載パスはFlash CS6の例です。

使用するアプリの版と言語によって保存先が変わるため、見つからない場合は「コマンドを実行」からファイルを選択します。

文字化けする場合は保存文字コードも確認してください。

C:\Users\(ユーザー名)\AppData\Local\Adobe\Flash CS6\ja_JP\Configuration\Commands

ファイルを配置後、メニューの「コマンド」内にスクリプト名が表示されるため、選択して実行します。

自作Flashスクリプト(JSFL)の作成例

レイヤーの追加

ドキュメントを開いた状態で実行すると、「背景」という名前のレイヤーを追加します。

ドキュメントを開いていない場合を処理するコードは含まれていません。

fl.getDocumentDOM().getTimeline().addNewLayer("背景");

AdobeのaddNewLayer仕様では、省略時は現在のレイヤーの上に新しいレイヤーを作ります。

「背景」は名前の指定であり、最下層へ配置する指定ではありません。

実行後はレイヤー名と位置を確認し、繰り返すたびにレイヤーが増える点にも注意してください。

選択した要素を画像名でシンボル化

次のGistは旧コードの参照用です。選択なしへの対応や名前の重複確認がなく、先頭レイヤー・先頭フレームの要素を参照しながらcount[0]を繰り返し処理します。選択したすべての要素を順番に処理する汎用コードとしては使わないでください。

選択したフォルダ内のAI素材を一括インポートして保存

次のGistは修正が必要な旧コードです。そのまま実行しないでください。フォルダー選択のキャンセル処理がなく、同じドキュメントへ読み込みを続けるため、素材が蓄積する可能性があります。さらにexportSWFの出力先が元のAIファイル名と同じパスになっています。元AIへの誤書き込みを避けるため、ファイルごとの文書初期化、別の出力フォルダー、.swfの拡張子、既存ファイルとの重複確認を実装してから検証する必要があります。

また、fl.saveDocumentは入力と同じフォルダーの同名FLAを保存先にしています。

既存FLAとの衝突確認もないため、修正時はSWFだけでなくFLAの保存先も分けます。

拡張子を最初のドットから切り出す処理では、sample.v2.aiがAIとして判定されません。

この旧コードを試す前に、取消・保存先・ファイル名判定を直す必要があります。

IllustratorからFlashへのデータ変換手順

  1. Illustratorでデータを作成し、原本を残して、使うFlashの読み込み対応形式で別名保存します。両アプリのバージョン番号を単純に一致させるという意味ではありません。
イラストレーターのデータをフラッシュのバージョンに合わせて保存する設定手順。
  1. Flashで新規ドキュメントを作成
  2. ファイル>読み込み>ステージに読み込み
新規ドキュメントを開き、ファイルメニューの読み込みからステージへデータを読み込む操作画面。
  • 読み込み設定でレイヤーの扱いを指定します。分割や統合の選択によって結果が変わります。
  • ビットマップにチェックを入れればライブラリに画像が登録されます。
  • ステージサイズとオブジェクト位置は、読み込み時の対応オプションを確認します。自動で常に一致するとは限りません。
読み込み時にレイヤー分割や名前の引き継ぎ、ビットマップ登録などのオプションを指定する設定画面。 ビットマップのチェック設定やオブジェクトの位置、カンバスサイズの引き継ぎ状態を示す画面。 ステージ上に素材の配置やレイヤー構造が引き継がれて読み込まれた状態。

参考

https://help.adobe.com/archive/ja_JP/flash/cs5/flash_cs5_extending.pdf

外部スクリプト「ConvertToSymbol」の紹介

以下は当時参照した一括読み込み・シンボル化スクリプトのアーカイブです。

現行環境での動作や配布物の状態は確認していません。

ダウンロード

https://web.archive.org/web/20120319073418/https://flabaka.com/blog/?p=2590

ESTKからFlashスクリプト(JSFL)を実行する方法

BridgeTalk機能を利用してアプリケーション間で連携します。

以下は旧ESTKとBridgeTalkを用いた連携例です。

対象アプリがインストールされた旧環境向けで、すべての現行環境に適用できる手順ではありません。

この例は送信先をflash-12に固定しており、対象アプリと開いている文書の確認処理はありません。

記事冒頭の「コマンドを実行」で直接JSFLを試す方法から始めてください。

スポンサーリンク

Flashスクリプト(JSFL)のまとめ

基本的な操作を試したところ、After Effectsのスクリプトとは仕様や操作感が大きく異なっていました。

履歴から操作を確認する方法は、Adobeのコマンド自動化の説明も参照できます。読み込み設定はIllustrator AIファイルの公式説明で確認してください。

動画編集に関するほかの記事は、まとめ一覧から確認できます。

よくある質問:FlashのJSFLスクリプトの作り方

JSFLとは何ですか?

JSFLはFlash/Animateの制作アプリの操作を自動化するスクリプトです。ブラウザでコンテンツを再生するFlash Playerとは別です。本記事はFlash CS6で試した記録です。

この記事の画面や手順は、いまの環境でも再現できますか?

記事は、保存されていた過去原稿をもとにした操作記録で、掲載画像やメニューは当時のものです。現行版での再現試験は行っていません。筆者は、これまでFlashやブラウザゲームの制作経験はなく、初心者としての検証記録としています。

JSFLを、まず試すには?

テキストに記事のコード(alert(“テスト!”);)をコピペして、「alert.jsfl」という名前で保存し、コマンド>コマンドを実行>「alert.jsfl」を選択するだけです。記事では、現在のAnimateへ古いMXPやExtension Managerをそのまま導入する手順ではないため、まずは「コマンドを実行」で短いJSFLを動かす方法から確認するよう案内しています。

JSFLのスクリプトは、どう調べますか?

ウィンドウ>他のパネル>ヒストリーのパネルを開き、たとえば「新規レイヤー」のコマンドを選択して、保存アイコンを押して保存します。すると「新規レイヤー.jsfl」というようにスクリプトが生成されます。記事の保存先はFlash CS6の例(C:\Users\ユーザー名\AppData\Local\Adobe\Flash CS6\ja_JP\Configuration\Commands)で、使用するアプリの版と言語によって保存先が変わります。

コマンドメニューからスクリプトを実行するには?

記事のパスにスクリプトファイル(.jsfl)を配置して実行します。掲載パスはFlash CS6の例で、使用するアプリの版と言語によって保存先が変わるため、見つからない場合は「コマンドを実行」から確認してください。

IllustratorのデータをFlashに読み込むには?

原本を残し、利用するFlashが読み込めるAI形式で別名保存します。新規ドキュメントで「ファイル>読み込み>ステージに読み込み」を使い、レイヤーの分割、ビットマップ化、ステージサイズ、位置のオプションを確認します。すべてが自動で引き継がれるわけではありません。

ESTKからJSFLを実行する方法は、いまも使えますか?

旧ESTKとBridgeTalkを用いた連携例で、対象アプリがインストールされた旧環境向けとしています。すべての現行環境に適用できる手順ではありません。

外部スクリプトや拡張機能は、いまも使えますか?

記事の「ConvertToSymbol」は、当時参照した一括読み込み・シンボル化スクリプトのアーカイブで、現行環境での動作や配布物の状態は確認していません。jsflEditも当時使った拡張機能です。最新のAdobe Animateの仕様や自動化の方法は、Adobe公式で確認してください。

2026年10月26日にAdobeのコマンド保存・実行の説明とaddNewLayerの仕様、埋め込みGist3件の全文を確認しました。

これは資料とコードの照合であり、Flash CS6・Animate・ESTKでの実行確認ではありません。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

動画編集のおすすめ書籍

動画編集PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次