サイン波を利用した上下運動

2008年10月24日 12:45

[swf]/blog/wp-content/uploads/2008/10/Bobbing.swf, 550, 400[/swf]

package 
{
import flash.display.Sprite;
import flash.events.Event;

public class Bobbing extends Sprite{
private var _ball:Ball;
private var _angle:Number = 0;
private var _rangeY:Number = 70;
private var _speedX:Number = 5;
private var _speedY:Number = 0.2;

public function Bobbing() {
init();
}

private function init():void {
_ball = new Ball();
addChild(_ball);
_ball.x = stage.stageWidth / 2;
addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true);
}

private function onEnterFrame(e:Event):void {
_ball.y = stage.stageHeight / 2 + Math.sin(_angle) * _rangeY;
_angle += _speedY;
//ステージの隅まで到達したら跳ね返る
if (_ball.x > stage.stageWidth - _ball.width/2 || _ball.x < _ball.width/2) {
_speedX = -_speedX;
}
_ball.x += _speedX;
}
}
}

カテゴリー: 数学・物理 

コメントはまだありません

No comments yet.

TrackBack URL

Leave a comment