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.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。