Matchのアーム内でBulletインスタンスを作成するとして・・弾を撃つたびにインスタンスを作成、そして削除・・としていたらなんか大変そう。
それよりも、構造体にアクティブかどうかをチェックするフィールドを作成し、発射でアクティブ化、座標の更新を行ってしまうのが良いのではないか?と。弾丸は1発しか撃てないわけだし・・
Claude先生からの提案ではActivateメソッドを実装して、一気にBulletインスタンスを更新するスタイルなのだが・・
とりあえずBullet構造体を定義し直して・・
Bullet_shapeを定義
初期化時点ではFalseにしておいて、他はどうせ見えてないのでテキトー
Claude先生の提案のActivateメソッドも良いけども、{}でくくってその場で目的のフィールドだけ更新する方法は無いのか?と聞いてみる。
これこれ!この書き方知りたかった。{}でくくれば;でいくらでも繋げることが出来そうだ。OK
こーゆー書き方が許されていると判明したので・・
もしもスペースキーが押されたときにBulletインスタンスのAtiveがFalseであったならば・・Playerインスタンスの各フィールドを参照して、向いている1つ前のマスにBullet.activeをTrueにして移動。これで弾丸発射の準備は整った!
あと、問題は弾丸が前に進むときのインターバルと衝突判定だけど・・ま、なんとかなるだろう。
今日も朝からずっと働いていて時間が取れなかった・・ちょっと年明けまでは今までみたいな長時間学習は難しいなぁ