« Spark Project の Utils ライブラリの ASDocを更新しました | メイン | DisplayObject と Proxy »

2008年8月 4日

[JSFL] JSFLコマンド修正版

リンケージ設定JSFLコマンド
LinkageSettings.mxp

  • クラスパスに「/」が入力できなかったのを修正
  • 参照ボタンが正常に動作していなかったので修正
  • 「ActionScriptに書き出し」にデフォルトでチェックが入るように変更
  • 「ActionScriptに書き出し」にチェックが入っていないときは「クラスファイルを作成する」を選択できないように変更
上の2つはかなり致命的な欠陥だったのに今まで気づかなかった。
自分で使えよって話なんですが。

上記以外は変わってないですが、今回の修正で結構便利度アップしたと思いますよ。

例えば
/project
  /bin
    index.fla
  /src
    Main.as
上記のようなディレクトリ構成で、index.flaを開いて作業いていた状態で
ステージ上に配置されたシンボル「HomeButton」「WorksButton」「ContactButton」の3つを選択して
このコマンドを実行した場合、
クラスパス: ../src
クラス名: demo.buttons.*
基本クラス: *
上記の設定で「クラスファイルを作成する」にチェックを入れて実行すると
/project
  /bin
    index.fla
  /src
    Main.as
    /demo
      /buttons
        HomeButton.as
        WorksButton.as
        ContactButton.as
上記のようにファイルが作成されます。
クラスファイルの記述もちょいちょい設定できます。

使い方は前回の記事のままです。
不明点があればどうぞ遠慮なく聞いてください。

以前の記事で、複数のシンボルがどうのこうのと注意事項で書いてますが、
特に気にしなくても使えると思います。

インスタンス名にシンボル名を設定するJSFLコマンド
setInstanceName.mxp

  • 先頭の文字を小文字に変換する
これはシンボル名が「TestButton」だった場合、このコマンドを実行すると、
ステージ上のインスタンス名は「testButton」になります。

変更はこれだけですが、AS3では思いのほか便利になったと思います。

上の「リンケージ設定コマンド」と併用するとさらに便利。
クラス名はシンボル名が適用されて、インスタンス名は先頭文字だけ小文字
って状況はAS3では良くあるんじゃないでしょうか。

思い当たる人は是非使ってみてくださいませ。

--追記
なんかディレクトリ構成の例が変だけど気にしないで(汗

--更に追記
Embedタグの記述箇所が変だったのと、symbolパラメータの値が正しく入力されてなかったので
再修正してアップしました。
LinkageSettings.mxp

--しつこくも更に追記
クラス作成時、インスタンス変数を追加する際に、変数の型をすべて「DisplayObject」にしていましたが
クラスの割り当てがされているインスタンスについては、設定されたクラスを追加するようにしました。
指定クラスファイルが存在しない場合は基本クラスに設定されているクラスが指定されます。
さらに基本クラスがデフォルトである場合は DisplayObject が指定されます。
(基本クラスが Sprite や MovieClip 等である場合、JSFLでは判定できないため)

また、上記変更に伴い、import 文が長く(複数行)になる場合があるので
import 文はソートした状態で書き加えられるように変更しました。(可読性向上のため)

LinkageSettings.mxp

トラックバック(0)

このブログ記事を参照しているブログ一覧: JSFLコマンド修正版

このブログ記事に対するトラックバックURL: http://system.seyself.com/mt-tb.cgi/510

コメント(2)

LinkageSettings.mxp
クラス名にまだ未定義のパッケージ名などを指定しても
自動的にパッケージを作ってくれたりするのが
非常に便利ですね!使わせてもらいます!!

michi :

どうもありがとうございます。
コメント気づくの遅くてすいません。
こういうのって作って公開してみて思ったのは
単純なものの方がウケはいいみたいで。
きっとあんまり手が込んでしまうと、
試すことすら面倒なんでしょうね。
なもんで、こういうコメントは非常にうれしいもんですね。

コメントする


画像の中に見える文字を入力してください。

しばらく時間が経過すると、システム内部と表示されている文字内容に食い違いが発生するようなので、
投稿する前にページをリロードすることをお勧めします。
リロードしてもフォームの内容は維持されます。