トップ

得点に応じてUFOから敵を出現させる

EnemyのようにYellowを単純に出現させるのは簡単なことです。

UFO.tonyu
extends SpriteChar;
function appearEnemy() {
   if (rnd( 50 )==0) appear(new Enemy(x,y,$pat_Sample+2));
   if (rnd( 100 )==0) appear(new Yellow(x,y,$pat_Sample+8));
}
while(1) {
 while(x<$screenWidth) {
   x=x+2;
   appearEnemy();
   update();
 }
 while(x>0) {
   x=x-2;
   appearEnemy();
   update();
 }
}

これで、Yellowは出現するようになりました。出現する確立は100分の1の確率に設定しました。

しかし、せっかく$scoreというグローバル変数があるので、これを使用して得点に応じて敵が出現するようにして見ましょう。
今回はスコアが100以上の場合に出現するようにしてみます。

UFO.tonyu
extends SpriteChar;
function appearEnemy() {
   if (rnd( 50 )==0) appear(new Enemy(x,y,$pat_Sample+2));
   if (rnd( 100 )==0 && $score>100) appear(new Yellow(x,y,$pat_Sample+8));
}
while(1) {
 while(x<$screenWidth) {
   x=x+2;
   appearEnemy();
   update();
 }
 while(x>0) {
   x=x-2;
   appearEnemy();
   update();
 }
}

さて、これでYellowも出現するようになりましたので、初期状態で画面上においてあるYellowのオブジェクトは消しても大丈夫です。

しかし、どうもこのシューティングは機械的に見えてしまいます。アニメーションを付けて敵が動いているようにしてみましょう。

  トップ