flash on 2010-6-17

by yun
♥0 | Line 37 | Modified 2010-06-24 13:25:22 | MIT License
play

ActionScript3 source code

/**
 * Copyright yun ( http://wonderfl.net/user/yun )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/dqRN
 */

package {
    import flash.display.*;
    import flash.events.Event;
    
    [SWF(frameRate="30", width="465", height="465")]
    public class MyFirstAnimation extends Sprite {
            private var _circle:Circle;
            
        public function MyFirstAnimation() {
            // クラスCircleのインスタンスを作る
            _circle = new Circle(10);
            // 半透明(不透明度25%)
            _circle.alpha = 0.25;
            _circle.vx = 3;
            _circle.vy = 4;
            
            // 最初の位置をwonderflの画面の中央にセット
            _circle.x = 465 / 2;
            _circle.y = 465 / 2;
            
            // 表示リストに追加
            addChild(_circle);
            
            //1フレーム毎に実行する処理にenterFrameHandlerを追加する
            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }
        
        // フレーム毎に行われる処理[25行目で登録される]
        private function enterFrameHandler(e:Event):void {
                // 1フレーム分動かす
                _circle.move();        
        }
    }
}

import flash.display.Sprite;

class Circle extends Sprite {
    public var vx:Number;
    public var vy:Number;
    public var radius:Number;
    // コンストラクタ
    public function Circle(_radius:Number, _fillColor:uint = 0x000000) {
        // 塗り_fillColor, 半径_radiusの円
        graphics.beginFill(_fillColor);
        graphics.drawCircle(0, 0, _radius);
        graphics.endFill();
        //半径の大きさをパブリックな変数に保存しておく
        radius = _radius
    }
    // 1フレーム分の動き
    public function move():void {
        x += vx;
        y += vy;
    }
}