トップ

連射機能

連射機能とは、スペースキーを押しっぱなしにしているだけで、弾が永遠と撃たれつづける動作のことです。
スペースキーを連打しなくてはならない状況を打開することができます。

一口に連射と言っても、何をしなければならないのか検討がつかないものかと思います。

そこでこのように考えてみましょう。

連射機能とは、


「スペースキーが押しっぱなしであること」
これは、getkey関数についての知識が必要です。

getkey(i) i : 調べたいキーのキーID

戻り値: 0:押されていない 1:今押されたばかり 2以上:押しっぱなしになっている

「ある一定時間が来たら弾が発射されること」
これは、フレームカウントを自分で用意すればよさそうです。

フレームカウントとは、一フレームごとに行われる動作を数えた数値のことです。一フレームとは、例えばwhile文の「{」から「}」までのことです。
これは適当に、iのような変数を用意してあげれば解決できそうです。

myChar.tonyu
extends SpriteChar;
 
function onDie() {
  appear(new Bomb($myChar.x , $myChar.y ,$pat_Sample+4));
}

while(1) {
  i++;
  if (getkey(39)>0 && x<$screenWidth ) x=x+3;
  if (getkey(37)>0 && x>0) x=x-3;
  if (getkey(32)>1 && i>20) {
    appear(new Tama(x,y,$pat_Sample+1));
    i=0;
  }
  update();
}

i>20
の部分を
i>10
のようにしてあげれば、弾の間隔は短くなります。

これで、連射機能もできました。次は、敵の種類を増やしてみましょう。

  トップ