duyojiぶろぐ

技術系ときどき日常系

SublimeText2でActionScript開発環境を作る(Flash Playerでswfの挙動を確認するまで)

メモ

Macで簡単なActionScript開発環境を作る際に行ったこと。

  1. パッケージコントロールからFlexをインストール
  2. Flex SDKダウンロード (http://www.adobe.com/devnet/flex/flex-sdk-download-all.html)
  3. Flex SDK zip解凍
  4. ~/Library/Developer/SDK に解凍したディレクトリを移動 (自分で分かりやすいところに置けばOK)
  5. sublimeでTools->BuildSystem->New BuildSystemで(今回は「flex.sublime-build」を作成)「http://qiita.com/nyamogera/items/31c4c2591f51ccc6cc70」を参考にビルドファイル作成(Flex SDKのパスは適宜自分の環境に合わせて修正)
  6. asファイルのコンパイルは先ほどNew BuildSystemで作成したビルド(今回はflex)を選択してcmd+Bでコンパイルが出来て同じディレクトリにswfファイルが出来る。
  7. 作成されたswfファイルをFlashプレイヤーで確認して動いているのを確認。


どこかから引っ張ってきた確認用ActionScriptコード

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.Event;

    public class Test extends Sprite {
        public function Test() {
            // write as3 code here..
            var circle1:Sprite = new Sprite();
            circle1.graphics.beginFill(0xFFCC00);
            circle1.graphics.drawCircle(40, 40, 40);
            circle1.buttonMode = true;
            circle1.addEventListener(MouseEvent.CLICK, clicked);

            var circle2:Sprite = new Sprite();
            circle2.graphics.beginFill(0xFFCC00);
            circle2.graphics.drawCircle(120, 40, 40);
            circle2.buttonMode = false;
            circle2.addEventListener(MouseEvent.CLICK, clicked);


            var self:Sprite = this;
            var tmpX:int    = 0;
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
            function onEnterFrame(event:Event):void{
                circle2.x++;
                /*
                var circle3:Sprite = new Sprite();
                circle3.graphics.beginFill(0x00FF00);
                circle3.graphics.drawCircle(tmpX, 200, 40);
                circle3.buttonMode = true;
                circle3.addEventListener(MouseEvent.CLICK, clicked);
                self.addChild(circle3);
                tmpX += 100;
                */
            }


            function clicked(event:MouseEvent):void {
                trace("Click!");
                var circle3:Sprite = new Sprite();
                circle3.graphics.beginFill(0x00FF00);
                circle3.graphics.drawCircle(200, 40, 40);
                circle3.buttonMode = true;
                circle3.addEventListener(MouseEvent.CLICK, clicked);
                self.addChild(circle3);
            }

            addChild(circle1);
            addChild(circle2);
        }
    }
}


まだ調べてないこと

  1. traceの出力確認の方法(traceを読んでも出力が確認出来ていない状態)