1. ホーム
  2. Blog
  3. FlashDevelopでswcファイルを使う時の設定方法

FlashDevelopでswcファイルを使う時の設定方法

寺井 周平

寺井 周平

デザイン,技術

Flashをやっている寺井です。僕は Flash コンテンツの開発の時は:

  1. FlashDevelop 上でプロジェクト作成。一方 Flash CS3 上で パブリッシュ対象となる .fla ファイルを作成しておく。
  2. FlashDevelop で ActionScript をコーディングして、
  3. FlashDevelop 上で F6キー(設定によっては Ctrl+Enter でも可)を押すと Flash CS3 側でパブリッシュできる。

という設定にして、上の工程でパブリッシュ&確認を繰り返して開発しています。この開発方法のメリットは、

  1. (Windows 版のみだけれど)FlashDevelop の強力な開発効率の良さ(コード補完機能等)を使えるようになる。
  2. もちろん世界中の AS 開発者が独自に作ったライブラリのコード補完や、クラスファイルへの簡単アクセス(ちょっと中身を確認したい時など)も使える。
  3. ちょっとしたグラフィックなら慣れ親しんだ Flash CS3 側の IDE で描画できる。
  4. FlashDevelop 単体だと trace 出力文によるチェックができない(似たようなことできるんだけど、慣れ親しんだ trace 文を使いたい。)

等が挙げられます。関連記事を個人的にスクリーンキャストでエントリしているので興味ある方はご覧ください。

それはさておき、こういう FlashDevelop 環境で swc ファイルを扱う時はどういう設定をすればいいかをメモしておきます。

SWC ファイルとは

SWC ファイルは、コンポーネントやその他のアセットのアーカイブファイルで、クラスライブラリと呼ばれることもあります。SWC ファイルには、CSS ファイルなどのプロパティファイルやその他の未コンパイルのアセットの他に、SWF ファイルと catalog.xml ファイルが含まれています。SWF ファイルにはコンパイルされたコンポーネントまたはコンポーネントのグループが実装され、埋め込まれたリソースがシンボルとして格納されます。...
via: SWC ファイルについて(livedocs.adobe.com)

ということで、通常 ActionScript ライブラリといえばディレクトリに .as ファイルがぐぁ~っと入れられている構成をイメージしがちですが、ActionScript というテキストデータだけでなく、Flash 上で作ったシンボルなどのいわゆる「Flashっぽいもの」をいろいろ同梱して配布したいような場合に swc ファイルとして配布され、ユーザに使ってもらおうというものです。まぁコンポーネントですね。

Google Maps API for Flash

この API については後日別エントリを予定していますが、この「Google Maps API for Flash」が swc ファイルで配布されているのです。こういう「Adobe 純正でない swc ファイル」を Flash CS3 で使う時は結構苦労します。swc という入れ物にくるまれているので、通常の .as ライブラリのように中身が確認できないのです。どんなクラスがあるか・どんなメソッドやプロパティが用意されているかをいちいちリファレンスファイル(ヘルプファイル)を見ながらちまちま開発することになります。

そこで FlashDevelop のコードヒントが役立ちます

FlashDevelop と swc を連携させておくと、以下のように:

flashdevelop_swc_import.gif
「とにかく地図(Map)が使いたいなぁ」→「import Map(←とりあえず)」とタイプしてみる→Google Map API 系の候補がずら~→大体の主要機能がなんとなくわかる

flashdevelop_swc_method.gif
作成したインスタンス名の後に「.(ドット)」を打つと→該当クラスで使用できる独自プロパティやメソッドがズラーっと列挙→その候補名から大体の機能がなんとなくわかる

という感じで「なんとなく記述してみてトライ&エラー」の繰り返しコーディングができるようになります。この開発手法(勉強方法)自体が良いのか悪いのかはよく分かりませんが、「スピーディに実際に動くものが見れる」というモチベーション的な点で僕はよくやっています。

FlashDevelop で swc ファイルを連携する設定方法

やっと本題です。上のようなことをするための設定方法です。今回は「Google Maps API for Flash」で解説します。(※1)

flashdevelop_swc_0.gif
Google Maps API for Flash の swc をダウンロード&解凍し、Flash CS3 での設置方法解説ページに従い

(Windows) C:\Program Files\Adobe\Adobe Flash CS3\language\Configuration\Components
(補足:ただのコピペじゃなく「language」のとこは「ja」に、あとリンク先ページでは上記パス中のAdobe Flash CS3 の前に変な半角スペース入っているので省いておくこと。)
(Mac OS X) Macintosh HD/Applications/Adobe Flash CS3/Configuration/Components

に swc ファイルを置く。

flashdevelop_swc_1.gif
FlashDevelop 右側のプロジェクトパネルのプロジェクトのアイコン上で右クリック。「Properties...」

flashdevelop_swc_2.gif
プロジェクトのプロパティ設定パネルが開くので、「Compiler Option」タブをクリックし、「SWC Libraries」の項目を探す。ここに SWC ファイルまでのパスを記述することになります。右の「String[] 配列」とあるように、パスは文字列で記述します。項目中の「...」ボタンをクリックすると、

flashdevelop_swc_3.gif
上のようなパネルが開きますのでここに先ほど自分で設置した SWC ファイルまでのパス「C:\Program Files\Adobe\Adobe Flash CS3\ja\Configuration\Components\Google\map_1_7a.swc」と記述してやります。
これで FlashDevelop 上で SWC ファイルのコードヒントが出るようになります。連携できたわけですね。

flashdevelop_swc_4.gif
僕はパブリッシュは Flash CS3 上から行いますので Flash 側でも設定しておきます。実は Windows, MacOS ともに、上記場所に SWC ファイルを置くと、自動的にコンポーネントパネルに新しくコンポーネント(SWC)が追加されています。そのコンポーネントを利用するには、そのコンポーネントをライブラリの中に入れておく必要がありますので、今回は「GoogleMapsLibrary」をライブラリウィンドウにドラッグ&ドロップして入れておきましょう。

以上が「FlashDevelop でコーディング&Flash でパブリッシュ環境にて SWC ファイルを使う」時の僕の準備方法でした。引き続き Google Maps API for Flash で遊びたいという人は、本家解説ページを参考にコーディングしていくといいでしょう。ネット公開する時は API キーの取得と設定をお忘れなく~。

長くなりましたので今回は以上ですー。


※1: Flash CS3 のみで Google Map を扱いたいという人は Google 内の解説ページを読めば大丈夫です。

※: SWC 連携の方法としては swc ファイルを FlashDevelop プロジェクトフォルダ内に入れておき、プロジェクト一覧パネル上の swc 上で右クリック→「Add To Library」でも FlashDevelop プロジェクトの「SWC Libraries」項目に追加することもできます。
flashdevelop_swc_5.gif
僕は Flash CS3 でも swc を使うことで今回はこの方法は使っていません。

※: swc 内に隠ぺいされているはずの各クラスの中身を見る方法ってありますかね?メソッドの実装内容を知りたい時とか。当然ですが FlashDevelop で F4 キー押してもジャンプしないのです。→(追記)FlashDevelop を最新版にすればswcの中身のクラスもこんな感じで見ることができました。

トップへ戻る