どうも。Total Eclipseと聞くと、ついこちらの方を思い出してしまうダメ人間のNakamuraです。

日頃FlashLite1.1で携帯Flashを開発していて思うのは、Flash IDEのアクションパネルを使いたくない!という事。
あのカーソル移動や行選択時の挙動がどうも苦手で、コードヒントもあまり頼りにならず、何よりタイムラインにコードが散逸すると全体の見通しが悪くなる上に、コードの行ったり来たりでかなり効率が落ちてしまいます。

ということで今回は、本来FlashLiteには対応していないFlashDevelopをムリヤリ使ってFlashLiteを快適に開発しよう、というお話です。

やり方は至極簡単。
基本順不同ですが、とりあえずFlashDevelopでActionScript 2のFlash IDE Projectを作成します。

新規プロジェクト

 

プロジェクトファイルを作成したディレクトリにclassesディレクトリを作成し、その中にFlashDevelopで編集するsample.asを配置。そしてFlashLite1.1設定にしたflaファイルの任意のフレームアクションで

#include "classes/sample.as"

と呼び出すだけ。asファイルはディレクトリに入れてもプロジェクトフォルダに直置きでも構いません。

プロジェクト

 

ディレクトリをあまり複層にすると文字数が増えてswfが肥大化しそうですが、簡単に試した限りでは

//直置き
#include "sample.as"
//ディレクトリ3層
#include "classes/myProject/display/sample.as"

の双方ともファイルサイズは同じでした(Flash CS4)。

AS2 Projectなのでコードヒントは出ませんが、デフォルトでも最低限のカラーリングはしてくれますし、FlashDevelopからのパブリッシュも可能なので実用上ほぼ問題ありません。ちなみにAS3 Projectの場合、FlashLite1.1のルート変数参照"/:"とカラーリングが衝突して見辛くなる為、AS2 Projectを採用しています。

スニペットを活用する

コード補完が効かなくても、スニペットを利用することで入力の手間をかなり省けます。

Tools > Code Snipets > AS2

から、tellTargetやgotoAndPlay,duplicateMovieClip等、打つのがめんどうなものを登録しておきましょう。
定型文を使うことでスペルミスも減って一石二鳥です。

スニペット

 

"/:"が整形される問題

前述の"/:"は、FlashDevelopの演算子に対する整形とも衝突します。
Enterによる改行等のタイミングで"/"の前後にスペースが挿入される為、それを放置しているとパブリッシュ時にFlashLiteでコンパイルエラーになってしまいます。
いちいち修正するのも面倒なので、

Tools > Program Settings > ASCompletion > Helpers > Character Requiring Whitespace

で"/"を除外してしまいましょう。 この設定はFlashDevelopを再起動するとリセットされるようですので、別途AS3を開発する、といった事になっても問題ないかと思われます。

コード補完設定

 

今回使用しているバージョンはFlashDevelop 3.0.0 RTMです。
上記以外でも、ファイルのタブ表示やパネルの並列等、FlashDevelopの基本機能があるだけで大分助かります。

一方、難点として考えられるのは、

  • asファイルが増えるのでファイル管理が煩雑になる
  • #includeを多用する事に一抹の不安が…

といった点。この辺りは上手く使い分けることで、多かれ少なかれ効率化が図れるのではないかと思います。

ニッチなジャンルではありますが、FlashLite1.1開発のTipsとして参考になれば幸いです。

HTML5飯