目次

敵機の移動(一方向のみ移動)

この講座では、敵機が出現し移動するプログラムを作成します。

準備

自機弾の発射のプログラムが必要です。 プログラムがない場合は、ダウンロードしてプログラムを上書きしてください。

自機弾の発射

敵機の出現

«player.txtの移動プログラムの下に追加»

if(frame==50){			//50フレーム経過した時
	EnemySet(320,-32,0,2);	//320,-32の位置から増分0,2で移動する敵を出現
	frame=0;		//フレームを0に戻す
}

変数frameは、現在の経過フレームを知ることができ、実行開始時に0の値から始まり、1フレーム経過すると1加算する仕組みとなっています。1行目は、frameの値を調べて実行開始時から50フレーム経過した時、EnemySetの関数を実行し、敵機を出現させています。

関数 説明
EnemySet(x,y,dx,dy); 敵機を出現させる(最大20体)

 EnemySetの関数の引数は、x軸,y軸の初期位置とx軸,y軸の増分dx,dyを順番に入力します。ここでは、上端の中心位置から出現させ、垂直下方向に移動させるために320,-32,0,2の値が入力されています。入力された値は、敵機の変数x,y,dx,dyに保存されます。

しかし、このままでは、実行ボタンを押しても敵機は出現しません。その理由を考えてみます。

考えられる原因 解決方法
移動量は記述したが、
実際に移動していない
敵機に移動するプログラム
を記述する

«enemy.txtに記述»

x=x+dx;
y=y+dy;