Home > lesson3 > ムービークリップを徐々に加速させる[3-7]

ムービークリップを徐々に加速させる[3-7]

カスタムクラスで読み込んだムービークリップに加速度をつけて移動させる

『Math.random() を使ってランダムに色を変える方法』で利用したBall.asを今回も使ってステージにボールを配置します。
X軸はステージの1/5の位置に配置し、Y軸をステージの真ん中に配置させます。(サイズ50と青色を指定)

//Ball.asを読み込み
var ball:Ball = new Ball(50, 0x0000ff);
addChild(ball);
ball.x = stage.stageWidth / 5;
ball.y = stage.stageHeight / 2;

これでステージにボールが表示されるようになったと思いますので、次にボールを動かすスクリプトを書きます。
今までやってきたムービークリップの動かし方にさらに加速度のプログラムを足します。

//イベントリスナー
ball.addEventListener(Event.ENTER_FRAME, loop);

function loop(event:Event):void{
	ball.x += 1;
}

上記が従来ムービークリップのX軸に1を足して動かす方法ですが、下記は1の変わりに変数(vx)を用いてX軸の数値に置き換え、さらに加速変数(ax)をフレームが読み込まれる度に足して変数vxの数値を増やしていく感じになります。

//イベントリスナー
ball.addEventListener(Event.ENTER_FRAME, loop);

function loop(event:Event):void{
	vx += ax;
	ball.x += vx;
}

こうすることにより、ボールがどんどん加速しているように見えます。
今回は加速度を1に設定しましたが、数値を変えれば加速度を調整できます。
この加速度は色々な場面でも使うことができるので、徐々に何かをしたい時になどに使うと便利です。

//Ball.asを読み込み
var ball:Ball = new Ball(50, 0x0000ff);
//インスタンスプロパティー
var vx:Number = 0; //初期値
var ax:Number = 1; //加速度

addChild(ball);
ball.x = stage.stageWidth / 5;
ball.y = stage.stageHeight / 2;
//イベントリスナー
ball.addEventListener(Event.ENTER_FRAME, loop);

function loop(event:Event):void{
	vx += ax;
	ball.x += vx;
}
カスタムクラスで読み込んだムービークリップに加速度をつけて移動させる

ボールがなくなってたらもう一度更新して下さい。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.addchild.net/as3-beginner/ls3/370.html/trackback
Listed below are links to weblogs that reference
ムービークリップを徐々に加速させる[3-7] from ADD CHILD = AS3

Home > lesson3 > ムービークリップを徐々に加速させる[3-7]

Feeds
Meta

Return to page top