forked from: forked from: infinite rectangle

by PAPER104 forked from forked from: infinite rectangle (diff: 47)
単純なシェイプを作成するときに使用
Event オブジェクトを作成するための基本クラス
MovieClip クラスの代替機能を提供
♥0 | Line 52 | Modified 2011-04-17 17:14:30 | MIT License
play

ActionScript3 source code

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

// forked from nicks's forked from: infinite rectangle
// forked from Scmiz's infinite rectangle
package {
    import flash.display.Shape;//単純なシェイプを作成するときに使用
    import flash.events.Event;//Event オブジェクトを作成するための基本クラス
    import flash.display.Sprite;//MovieClip クラスの代替機能を提供
    import flash.events.MouseEvent; 
    public class FlashTest extends Sprite {
        private var _frame:uint;//フレームの変数宣言
        public function FlashTest() {//フレームレートを管理するリスナー関数
            stage.frameRate = 100;//フィレームレイト 大きいほど滑らか
            _frame = 0;//フレームの変数
            this.addEventListener(Event.ENTER_FRAME, proc);//リスナー関数proc()をフレームが更新するたびに呼び出す
        }

        private function proc(e:Event):void {//描く円をランダムに設定するリスナー関数
            ++_frame;//変数_frame1ずつ足し続ける
            if (_frame >= 3) {//大きいほど、作図の間隔が空く
                _frame = 0;//再処理
                var r:uint = 1 + (Math.random() * 255);//24ビットカラーredの変数。※変数の型はintではなくunitでなければならない
                var g:uint = 1 + (Math.random() * 255);//24ビットカラー緑greenの変数
                var b:uint = 1 + (Math.random() * 255);//24ビットカラー青blueの変数
                var color:uint = (r << 16) + (g << 8) + (b << 1);//24ビットカラーの変数
                var width:Number =  Math.random();//円を描くときのx座標の変数
                var height:Number = Math.random();//円を描く時のy座標の変数
                var circle:Shape = new Shape(width, height, color);//わからん
                circle.x = Math.random() * 500;//円を描く横xの範囲
                circle.y = Math.random() * 500;//円を描く縦yの範囲
                this.addChild(circle);//ステージ上にcircleを表示リストとして追加する。つまりcircleが画面上に表示させる
            }
        };
    }
}
import flash.display.Sprite;
import caurina.transitions.Tweener;//トゥイーンを設定するためのクラス

class Shape extends Sprite {
    
    public function Shape(width:Number, height:Number, color:uint) {//円を描くためのリスナー関数
        this.graphics.beginFill(color);//円の色の設定
        this.graphics.drawCircle(-width / 2, -height / 2, 40);//円の位置と半径の設定
        this.graphics.endFill();//円の輪郭線の設定
        
        var onEnd:Function = function():void {//リスナー関数の宣言
            this.parent.removeChild(this);//円を描くためのリスナー関数をステージ上から解除させる
        };
        
        var firstScale:Number = 0.01;//一番最初に描画される円の拡大縮小の変数
        var appearScale:Number = 0.01;//その後に描画される円の拡大縮小の変数
        this.scaleX = firstScale;//ステージ上に描画された円のX座標における拡大縮小の変数
        this.scaleY = firstScale;//ステージ上に描画された円のy座標における拡大縮小の変数
        this.scaleZ = firstScale;//ステージ上に描画された円のz座標における拡大縮小の変数
        var appearFrame:uint = 1;//待機時間の変数
        var waitFrame:uint = 10;//トゥーンのスピードを表す変数
        //トゥイーンの設定 x、y、z:トゥイーン先の座標 scaleXYZ:拡大縮小 alpha:不透明度 onComplete:終了後に関数を呼び出す time:トゥイーンのスピード delay:待機時間 useFrame:時間の単位をtrueでフレームにする
        Tweener.addTween(this, {scaleX:appearScale, scaleY:appearScale, scaleZ:appearScale, delay:0, time:appearFrame, useFrames:true});
        Tweener.addTween(this, {scaleX:1.2, scaleY:1.2, scaleZ:1.2, delay:appearFrame, time:waitFrame, useFrames:true});
        Tweener.addTween(this, {x:235.5, y:235.5, scaleX:0.01, scaleY:0.01, scaleZ:0.01, alpha:0.25, delay:appearFrame+waitFrame, time:800, useFrames:true, onComplete:onEnd});
    }
}