放射 : ActionScript

Pocket

放射状の運動を実現するサンプルを作成しました。

function RadiationClip(target, degree, radius, speed, x, y, scale, interval, depth) {
	var target:MovieClip = target;
	// 角度
	var degree:Number = degree;
	// 半径
	var radius:Number = radius;
	// 移動スピード
	var speed:Number = speed;
	// 座標
	var x:Number = x;
	var y:Number = y;
	// スケール
	var scale:Number = scale;
	// 深度
	var depth:Number = depth;
	// インターバル
	var interval:Number = interval;
	// 弧度
	var radian:Number = Math.PI/180*degree;
	// 自身
	var self:MovieClip;
	// 初期化関数
	var iniRadiationClip = function():Void {
		var o = new Object();
		o._x = x;
		o._y = y;
		self = target.attachMovie('clip', 'clip'+depth, depth, o);
	};
	// 位置設定
	var setRadiation = function ():Void {
		// 座標
		self._x = x+radius*Math.cos(radian);
		self._y = y+radius*Math.sin(radian);
		//
		if (self._x>290 || self._x<0 || self._y >290 || self._y<0) {
			clearInterval(timer);
			self.removeMovieClip();
		}
		radius += speed;
		self._xscale += scale;
		self._yscale += scale;
	};
	iniRadiationClip();
	var timer:Number= setInterval(setRadiation, interval);
}
for (var i = 0; i<12; i++) {
	// ターゲット,角度, 半径, 移動スピード, X初期位置,Y初期位置,拡大スピード, 間隔, 深度
	new RadiationClip(_root, i*30, 10, 20, 145, 145, 20, 100, i);
}

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。