物体の跳ね返り運動に関するActionScriptのサンプル。
跳ね返り運動を実現するポイント。
ライブラリ リンケージ名:ball, 幅:20, 高さ:20 ,中心点(-10,-10)に設定した円シンボルを作成。
// 跳ね返り
function Ball()
{
// 初期位置
this._x = Stage.width / 2;
this._y = Stage.width / 2;
// 半径
var radius = 10;
// 速度
var vx = Math.random() * 15 + 15;
var vy = Math.random() * 15 + 15;
// 反発係数(弾性衝突)
var bounce = -1;
// 跳ね返り処理
this.onEnterFrame = function()
{
// 等速度運動
this._x += vx;
this._y += vy;
// 跳ね返り
if (this._x + radius > Stage.width)
{
// 位置の調整
this._x = Stage.width - radius;
// 跳ね返り
vx *= bounce;
}
else if (this._x - radius < 0)
{
// 位置の調整
this._x = radius;
// 跳ね返り
vx *= bounce;
}
if (this._y + radius > Stage.height)
{
// 位置の調整
this._y = Stage.height - radius;
// 跳ね返り
vy *= bounce;
}
else if (this._y - radius < 0)
{
// 位置の調整
this._y = radius;
// 跳ね返り
vy *= bounce;
}
};
}
var o = new Ball();
var mc = attachMovie("ball", "ball", 0, o);
跳ね返りの際、ボールを端に移動して、壁へのボールの埋め込みを防止する。
this._x = Stage.width - radius;
this._x = radius;
this._y = Stage.height - radius;
this._y = radius;
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。