収束運動3 : ActionScript

Pocket

収束運動の3回目です。文字が収束するサンプルです。

大まかな流れ

テキストα, βを作成します。[修正]→[分解]を2度実行して、テキストからシェイプへ変更します。シェイプへ変更した各文字をシンボル化(ムービークリップ)します。インスタンス名をt1, t2とします。それぞれの不透明度を0に設定します(スクリプトが実行される時に100に戻します)。

ActionSctipをフレーム1に設定します。

// 点オブジェクト
function typeDraw(x, y, speed, limit, self) {
	var self = self;
	// 目標位置
	var endX = self._x;
	var endY = self._y
	// 初期値
	self._x = x
	self._y = y;
	// 不透明度 可視化
	self._alpha = 100;
	var speed = speed;
	var limit = limit;
	// 収束処理
	self.onEnterFrame = function() {
		var diffX = (endX-self._x);
		var diffY = (endY-self._y);
		if (Math.abs(diffX)<limit && Math.abs(diffY)<limit) {
			self._x += (endX-self._x)/speed;
			self._y += (endY-self._y)/speed;
		} else {
			self._x = endX;
			self._y = endY;
			delete self.onEnterFrame;
		}
	};
}
for (var i = 1; i<=2; i++) {
	var mc = _root["t"+i];
	var x = Math.ceil(Math.random()*200);
	var y = Math.ceil(Math.random()*200);
	typeDraw(x, y, 10, 1, mc);
}

コメント

No comments yet.

コメントの投稿

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