斜方投射(放物運動) : ActionScript

Pocket

ActionScriptを使った放物運動のサンプルです。運動処理をonEnterFrameで行っています。

/* 斜方投射 :放物線  */
// 初期速度, 投げ出し角度, 初期位置X, 初期位置Y
function ParabolaClip(initialVelocity, degree, initialX, initialY) {
	// 擬似フレーム番号
	var n = 1;
	// 初速
	var initialVelocity = initialVelocity;
	// 角度
	var degree = degree;
	// 重力加速度
	var g = 9.8;
	// 初期位置
	this._x = initialX;
	this._y = initialY;
	// イベントハンドラ
	this.onEnterFrame = function() {
		// 角度を弧度へ
		var theta = (Math.PI/180)*degree;
		// 初速の分解
		var initialVelocityX = initialVelocity*Math.cos(theta);
		var initialVelocityY = initialVelocity*Math.sin(theta);
		// X軸の運動:等速度運動
		this._x += initialVelocityX;
		// Y軸方向の運動: 等加速度運動
		this._y += g*n-initialVelocityY;
		// 擬似フレームを増加
		n++;
	};
}
// 初期速度, 投げ出し角度, 初期位置X, 初期位置Y
var obj = new ParabolaClip(50,30, 0, 100);
_root.attachMovie('clip', 'clip', 0, obj);

放物運動については下記の記事にまとめています。
»放物運動 : 物理

コメント

No comments yet.

コメントの投稿

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