その他の動作

 乱数、落下、ジャンプなど、自機(jiki)、弾(tama)、敵(teki)のその他いろいろな動作のさせ方。これ以外の動作は、マニュアルや他のサイトを参考にせよ。



0)前提:ファイルgame2.funをソフトEazyFlashで起動しておく。
1)ランダムに出現する敵(teki)
・敵が下端のランダムな位置から出現するようにしたいとき。
on(enterFrame){ の中で、 if (this._y < 0){ this._y=300; }を
    if (this._y < 0){
       this._y=300;
       r = Math.random();        //
       this._x = r*Stage.width;  //
    }
に、変更する。 ヒント Math.random()は0以上1以下の乱数(一様分布)を発生する。

2)落下する弾(tama)
・弾が重力により下方に落ちてくるようにしたい。
on(load){ onAir=0; }
on(enterFrame){
  if( onAir==0 ){
    this._x=_parent.jiki._x;
    this._y=_parent.jiki._y;
    if(Key.isDown(Key.SPACE)){ onAir=1; dy=0 } //
  }
  if( onAir==1 ){
    this._x+=30;
    dy += 1;           //
    this._y += dy;     //
    if(this._x > Stage.width){ onAir=0; }
  }
 }
ポイント dyをしだいに変化させる。
注意 スペースキーを押したとき、初速と方向も決めること。

3)ジャンプする自機(jiki)
・通常は左右に動かせる。特に上矢印キー「↑」でジャンプさせたいとき。
ヒント 前項と同じく状態変数(例 onAir)を使え。
on(load){ onAir=0; }
on(enterFrame){
  if( onAir==0 ){
     this._y = Stage.height;
     if(Key.isDown(Key.RIGHT)){ this._x+= 5; }
     if(Key.isDown(Key.LEFT) ){ this._x+=-5; }
     if(Key.isDown(Key.UP)){ onAir=1; dy= -60}
  }
  if( onAir==1 ){
     dy += 1;
     this._y += dy;
     if(this._y > Stage.height){ onAir=0; }
  }
 }
注意 上矢印キーを押したとき、初速と方向を決めること。
ヒント ダブルジャンプさせたいなら、if(Key.isDown(Key.UP)){...}をif( onAir==0 ){...}の外におけばよい。