ばね運動のサンプル2です。
マウスを追いかけます。
function Spring() {
var ball:MovieClip;
// 速度
var vx:Number = 0;
var vy:Number = 0;
// ばね係数
var spring:Number = 0.05;
// 摩擦
var friction:Number = 0.95;
this.init = function() {
var o = {_x:100, _y:75};
ball = _root.attachMovie('ball', 'ball', _root.getNextHighestDepth(), o);
ball.onEnterFrame = function() {
// ばね運動
var dx:Number = _root._xmouse-ball._x;
var dy:Number = _root._ymouse-ball._y;
var ax:Number = dx*spring;
var ay:Number = dy*spring;
vx += ax;
vy += ay;
vx *= friction;
vy *= friction;
ball._x += vx;
ball._y += vy;
};
};
}
var s = new Spring();
s.init();
function Spring() {
var ball:MovieClip;
var vx:Number = 0;
var vy:Number = 0;
var spring:Number = 0.05;
var friction:Number = 0.95;
this.init = function() {
var o = {_x:100, _y:75};
ball = _root.attachMovie('ball', 'ball', _root.getNextHighestDepth(), o);
ball.onEnterFrame = function() {
// ばね運動
var dx:Number = _root._xmouse-ball._x;
var dy:Number = _root._ymouse-ball._y;
var ax:Number = dx*spring;
var ay:Number = dy*spring;
vx += ax;
vy += ay;
vx *= friction;
vy *= friction;
ball._x += vx;
ball._y += vy;
// 線の描画
_root.clear();
_root.lineStyle(1,0x000000,100);
_root.moveTo(250, 7);
_root.lineTo(this._x,this._y);
};
};
}
var s = new Spring();
s.init();
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。