- 入力されたキーを調べる
- スクリプト解説
- Key.isDown
- if( this._x < leftLimit )…枠を設定
- ムービークリップの幅と高さを考慮するなら
入力されたキーを調べる
var circle: MovieClip;a
var background: MovieClip;
var speed: Number = 8;
circle.onEnterFrame = moveCircle;
function moveCircle():Void
{
if( Key.isDown( Key.LEFT ) )
this._x -= speed;
if( Key.isDown( Key.RIGHT ) )
this._x += speed;
if( Key.isDown( Key.UP ) )
this._y -= speed;
if( Key.isDown( Key.DOWN ) )
this._y += speed;
var leftLimit = background._x;
var topLimit = background._y;
var rightLimit = background._x + background._width;
var bottomLimit = background._y + background._height;
if( this._x < leftLimit )
this._x = leftLimit;
if( this._y < topLimit )
this._y = topLimit;
if( this._x > rightLimit )
this._x = rightLimit;
if( this._y > bottomLimit )
this._y = bottomLimit;
}
Key.isDown
- 一定時間ごとにキーが押されているか調べる
- 指定したキーがおされているならtrue,いないならfalseを返す
- this._y -= speed ▶ speedの分Y座標を移動させる
if( this._x < leftLimit )…枠を設定
- 座標が背景の境界を出ないようにする
- Limitを出ているなら座標をLimit内に固定する
var w : Number = this._width / 2;
var h : Number = this._height / 2;
var bg : MovieClip = background;
var leftLimit = bg._x + w;
var topLimit = bg._y + h;
var rightLimit = bg._x + bg._width - w;
var bottomLimit = bg._y + bg._height - h;