- 2006-08-31 (木)
- action script
世の中には便利なクラスを作って下さる方がいます。
Robert Pennerさんのトゥイーン関連のクラスや、FlashでXPassを使えるxfactorstudioのXPass4AS2などは、汎用性ありまくりでマストな逸品です。
こういうカスタムクラス群を、しっかり管理しておく方法を、基本からまとめてみました。
書き終わったら冗長なエントリになってしまいました。Flashヘルプで検索した方が手っ取り早いです。orz..
ネットからダウンロードすると、クラスファイルが「com/作者のドメイン名/tween(任意)/~.asファイル」というディレクトリ構成になっていることがよくあります。asファイルをクラスファイル、そこまでのディレクトリ名をパッケージと呼びます。他の人が作ったパッケージと重複して上書きとかされるのを防ぐために、唯一の存在であるドメイン名で包むわけです。僕がtween関連のクラスを作ったら「com/trick7/tween/Twist.as」とかにするわけです。
以下、快適なカスタムクラス使用環境づくりのための作業手順です。
Windows :<ハードディスク>\Documents and Settings\<ユーザー>\customclasses Macintosh : <ハードディスク>/Users/<ユーザー>/customclasses というフォルダを作って、その中にcomフォルダごと移動します。
複数個のパッケージを持っている場合、こんな感じになります。
このままここに置いているだけでは気軽に使えません。理想はダウンロードしたサンプルファイルのimport文のまま、
import com.xfactorstudio.xml.xpath.*;//XPathを使う時の例のままで使いたいわけです。 そこでクラスパスの設定をします。
クラスパスには2種類あります。そのflaファイルの中だけで通用するドキュメントレベルのクラスパスと、全てのflaファイルで共有されるグローバルなクラスパスです。 Flashはimport指定を見つけると、まずドキュメントレベル、次にグローバルクラスパスの順にクラスを探し、それでも見つからない場合はエラーを返すそうです。(Flashヘルプに記載) ドキュメントレベルのクラスパスは、そのflaファイルのパブリッシュ設定から、グローバルなクラスパスはメニューの環境設定から、「ActionScript2.0設定」をクリックでそれぞれ設定します。
今回は末永く使いまくりたい汎用なクラスなので、グローバルなクラスパスとして設定します。「メニュー」→「環境設定」→「ActionScript」→「ActionScript2.0設定」で下のようなウィンドウが開きます。デフォルトでは「.(flaと同階層の意)」と「$(UserConfig)/Classes」の2つです。
※参考 $(UserConfig)/Classesっていうのは、 Windows :<ハードディスク>\Documents and Settings\<ユーザー>\Local Settings\Application Data\Macromedia\Flash 8\<言語>\Configuration\Classesなので、Configuration/Classesフォルダの中にcomパッケージを移してもいいのですが、Flash をアンインストールして再インストールした場合などに、ディレクトリが削除または上書きされてカスタムクラスが失われることがあるらしい&階層的に奥まった場所にあってややこしいので、<ユーザー>/customclassesを作ったわけです。職場との同期もしやすいですし。
Macintosh : <ハードディスク>/Users/<ユーザー>/Library/Application Support/Macromedia/Flash 8/<言語>/Configuration/Classes を指すそうです。Flash 8フォルダにenとjaの2つのディレクトリがあって不思議だったのですが、jaだけを読み込んでいるんですね。知らなんだ。
で、開いた「ActionScript2.0設定」パネルの「+」をクリックして、さらに真ん中のボタンをクリックしてcustomclassesまでのパスを通せば完成です。
以降は設定したFlash環境上で、無造作に「import com.〜.*」でインポートできるようになります。以後、有益なクラスパッケージを見つけても customclasses フォルダに入れるだけでOKです。
9/6追記:en/jaフォルダについて文章、フォルダのパスに誤表記があったので訂正。 ついでに、納品するときは、使用したカスタムクラスのパッケージを、comフォルダがflaファイルと同階層になるようにしてコピーして(「.」のグローバルパスを利用するのです)、納品しましょう。
- Newer: auの新モデルにFlash Lite2.0搭載
- Older: W43S | au | Sony Ericsson
Comment:0
Trackback:0
- TrackBack URL for this entry
- http://www.trick7.com/blog/mt-tb.cgi/293
- Listed below are links to weblogs that reference
- カスタムクラスとクラスパス from trick7.com blog




