ばね2 : ActionScript

ばね運動のサンプル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.

コメントの投稿

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