forked from: forked from: infinite rectangle
forked from forked from: infinite rectangle (diff: 47)
単純なシェイプを作成するときに使用 Event オブジェクトを作成するための基本クラス MovieClip クラスの代替機能を提供
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;//変数_frameに1ずつ足し続ける
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});
}
}