ネコガネ:メモ帳

Adobe Flash & AIR、Action Script 関連とゲーム制作に関するメモ。

(13/12/06 更新) 指定したラベルにタイムラインヘッダを移動するFlashの拡張機能

指定したラベルにタイムラインヘッダを移動するFlash Proの拡張機能を作成しました。

この拡張機能のアイデアは、A.e.Suckさまの記事で、

AmazingFlash: 拡張コマンド ベスト3

沖くん作でフレーム番号を指定して再生ヘッドを移動するコマンドがあるんですが、これのラベル版があったらいいなあ。名付けて「ラベル名を指定して再生ヘッドを移動する」コマンド。

という発言をみつけたため。とても便利そうなJSFLなので、勉強がてら作ってみました。

…が、タイムラインが数百フレーム以上になるとヘッダが移動するまでに少し時間がかかりますorz
表示しているタイムラインのヘッダを動かすだけなので、シーンまたいだ移動もできません
そんなこんなで、いまいち実用性に乏しい拡張機能なのですが、とりあえず作ったのでひっそり公開して見ようと思います。

(2013/12/06 追記)
コードの最適化を行い、タイムラインのフレーム数が多くてもタイムラインヘッダの移動に時間がかからなくなりました。
修正バージョンは下記にアップロードしました。

ダウンロード

機能説明

  • 現在表示中のタイムラインのヘッダを、指定したラベルの位置に移動します。ムービークリップを表示中であれば、そのムービークリップのタイムラインヘッダを移動します。
  • ラベル名が重複していた場合は、最初に見つかったフレームラベルの位置にヘッダを移動します。

動作環境

  • Adobe Flash CS6 以降(Windows/Mac)
  • Mac OS X 10.7.5、Adobe Flash CS6、Adobe Flash CC で動作確認を行っています。
    たぶんWindowsでも動くと思いますが、インストールできなかったり、動かなかったりした場合は @necogane まで教えてください。

使い方

  1. Extension Manager を使用して、[goto_label_v1.1.0.zxp]をインストールします。
  2. [コマンド]メニュー→[指定ラベルに移動]を選択します。
    f:id:necogane:20131205170341p:plain
  3. [フレームラベル]に移動したいラベル名を入力し、[OK]ボタンをクリックします。 f:id:necogane:20131205170345p:plain
  4. タイムラインヘッダが指定したフレームラベルの位置に移動します。 f:id:necogane:20131205170349p:plain

注意

  • フレーム数が多い(500フレーム以上の場合)と、ヘッダを移動するまでに少し待たされます。 速度の改善策がないか検討します。→改善しました。
  • ラベル用のレイヤーは、なるべく一番上に置いておいてください。
    f:id:necogane:20131205175952p:plain
    これは、内部的に各レイヤーのキーフレームごとにラベルのチェックを行っているのですが、レイヤーは上から順番に検索しています。そのため、一番上にラベルレイヤーを置いておくと、一番初めにチェックが行われるので、ラベルの位置の検索処理に時間がかからなくなります。
    逆にキーフレームが沢山(500〜)振ってあるレイヤーが一番上に置かれていると、待ち時間がかかってしまいますのでご注意ください。