初めてのAS3

Flash CS3とActionScript3.0を初めて触る。開発環境FlashDevelopとの連携、AS2→AS3の移行など、いろいろ所感。

AS2とAS3は、

ウワサには聞いてたけど、恐ろしく違う(livedoc)ようです。今までこのブログで書いてきたサンプルも、全否定といったところ orz。
なんか、ActionScriptの楽しさというか軽さというか、そういうのが失われつつあるような・・・。

とは言っても、Flash CS3ではAS2もAS3も(AS1も)選べて、特に理由がない限りAS3使う必要はナイので、安心してCS3にアップグレードされたし。

AS3開発環境 FlashDevelop

今まで盲目的に使ってきたSePyではFlash CS3/AS3との連携がうまくいかない。Flash CS3のスクリプト編集画面は、大きくて見やすいですが、
やっぱりアノもったり感は変わらず。疲れるので使いたくない。

そこでOpen Source Flashを探したところ、FlashDevelopなるエディタがありました。すでにデファクトっぽいです。

 FlashDevelop 3.0.0beta4をインストールして、
 適当にActionScript書いて、
 「F6」を押すと、
 Flashのインストール先を聞いてくるので、
 インストールパスを入力すると、
 Flashが起動して、
 コンパイル&実行してくれます。

画面はこんな感じ。


VisualStudioライクなインターフェースでとても使いやすくて、お奨めです。入力支援も完璧。SePyでAS2やってる人も、こちらのほうが軽くていいですよ(ボクはもうSePy捨てます、いままでありがとう)。

AS2からAS3へ移行してみる

違いを列挙してもキリがないので、最初に書いたサンプルを移行してみると、

 ■AS2の場合

 class MyClip extends MovieClip{
  var interval = 5;
  function onEnterFrame(){
    if( this._alpha < 50 || this._alpha > 100 ){
      this.interval = -this.interval;
    }
    this._alpha += this.interval;
  }
 }

 ■AS3の場合

 package{
  import flash.display.Sprite;
  import flash.events.Event;
  class MyClip extends Sprite{
   var interval = 5;
   function MyClip(){
    this.addEventListener(Event.ENTER_FRAME, onEnterFrame)
   }
   function onEnterFrame(event){
    if( this.alpha < 50 || this.alpha > 100 ){
      this.interval = -this.interval;
    }
    this.alpha += this.interval;
   }
  }
 }

となる。これを見て、
うわ!っと抵抗を感じた人は、AS2を使い続けた方がいいでしょう。

プログラム畑の人から見ればさほど抵抗はないと思います。というか、言語仕様にうるさいプログラマは、AS2の散らかった仕様やパッケージングの方が違和感があったのかも。

でもそれはそうなのだけれど、デザイン畑のユーザーの心をグッと遠ざけてしまったようだ。

AS2がイツイツまでも残り続けることをお祈りします。


コメント

コメントしてください

closed.