トップ


アイテムをランダムに出現させる。

アイテムをランダムに出現させて見ましょう。

現在、敵の出現などを一括に執り行っているのはUFOです。しかし、敵のようにUFOから吐き出されたのでは、敵がこちらサイドを助けているようなものです。すこし、プログラムを変えて出現させるようにしてみましょう。

UFO.tonyu
extends SpriteChar;
function appearEnemy() {
   if (rnd( 400 )==0) appear(new Item(rnd(530)+15,y,22));
   if (rnd( 1600 )==0) appear(new Item(rnd(530)+15,y,17));
   if (rnd( 50 )==0) appear(new skyBlue(x,y,$pat_Sample+2));
   if (rnd( 100 )==0 && $score>100) appear(new Yellow(x,y,$pat_Sample+8));
   if (rnd( 200 )==0 && $score>200) appear(new Red(x,y,$pat_Sample+11));
   if (rnd( 800 )==0 && $score>300) appear(new Green(x,y+20,$pat_Sample+19));
   if (rnd( 1600 )==0 && $score>400) appear(new Blue(x,y+20,$pat_Sample+22));
}
while(1) {
 while(x<$screenWidth - 40) {
   x=x+2;
   appearEnemy();
   update();
 }
 while(x>40) {
   x=x-2;
   appearEnemy();
   update();
 }
}

22が赤い玉で17が青い玉です。Itemという同じクラスですが、myCharのクラスでは、Itemオブジェクトのpで判断しているので、これで終わりです。
注意事項はrnd(530)+15の部分です。530とは初期状態の$screenWidth=560から30を引いた数字です。これによって、出現するItemのx座標は15〜545となり、アイテムが画面外にはみ出ることを防止しています。

ゲームとしては、まだ何か足りません。次は効果音を追加して、ゲームオーバー画面を作成しましょう。

  トップ