三角関数 サイクロイド : ActionScript

Pocket

サイクロイドのサンプルを作成しました。

// 点オブジェクト
function PointClip(radius, speed, originX, originY) {
	// 角度
	var degree = 0;
	// 半径
	var radius = radius;
	// 移動スピード
	var speed = speed
	// 初期座標
	this._x = originX;
	this._y = originY;

	// サイクロイド処理
	this.onEnterFrame = function() {
		var theta = Math.PI/180*degree;
		this._x = originX + radius*(theta-Math.sin(theta));
		this._y = originY + radius*(1-Math.cos(theta));
		if (degree>720) {
			trace(this._x);
			this.removeMovieClip();
		} else {
			degree += speed;
		}
	};
}
// 原点
var originX = 0;
var originY = 75;
// 経
var radius = 20;
// Y軸の長さ
lineStyle(1, 0x00, 100);
moveTo(0, 75);
lineTo(axisX, 75);
// 半径, 移動スピード, X, Y
var o = new PointClip(40, 10, 0, 0);
attachMovie('clip', 'ball', 0, o);

コメント

No comments yet.

コメントの投稿

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