放射状の運動を実現するサンプルを作成しました。
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.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。