当たり判定まわりを少し追加

無敵のフラグを用意した、ベースとなるクラスを作成。

直接SGGameObjectを継承している当たり判定のあるキャラは継承元を変更。

これで無敵時間の設定が可能だ。


動きとしては自機は画面したから出現するようにして、その間動けるようになってからも少しの間は無敵。また、無敵の間は点滅するようにした。


実装としてはこの無敵フラグは整数で表すのが一般的だろう。普通に考えるとbooleanになりそうだが、無敵時間をフレーム単位で数を設定しておいて、それが0になったら無敵が解けたとしておくのがタイマーの設置もしなくていいので都合がよい。いつ無敵が解けるかわからないような場合は、毎フレーム1以上の値を設定しておけばいいだけ。


無敵周りを実装したならばさらに当たり判定を追加。

まずは自機と敵弾の判定は入れた。当たったらまた点滅しながら画面下から出現するように。爆発のエフェクト入れてないのであじけないけど。その最適の弾も消す。

次に敵と自機との当たり判定を作る。自機はリスタートにするだけじゃなくて敵も画面から消えるように。画面から消えたらまた次の敵が出るようになっているので、このままではゲームとしては敵の弾をかいくぐりつつ敵に体当たりをするというだけ。一方的にかつ方法がないのがアレだが。

爆発のエフェクトがないのも寂しいので、爆発音だけ入れる。エフェクト一切なしで消えるだけなのに確かにやられた気がする。音の力は偉大だな。

続いて敵と自機の弾の当たり判定をつける。敵を倒すことは出来ないものの、自機の玉は消え、あたった音を出すように。この弾があたったときの音というのがSTGでは非常に重要で、ここが秀逸なのが雷電というゲーム。また、音を買えることによってダメージが入っていないよ、壊せないところだよというのがわかるのも大事なところ。とりあえず適当な音を入れておいたが、この辺もあとでじっくり調整していきたいところ。