星田オステオパシー

Rustでトランキライザーガン その06 弾丸表示のための学習

 Matchのアーム内でBulletインスタンスを作成するとして・・弾を撃つたびにインスタンスを作成、そして削除・・としていたらなんか大変そう。
 それよりも、構造体にアクティブかどうかをチェックするフィールドを作成し、発射でアクティブ化、座標の更新を行ってしまうのが良いのではないか?と。弾丸は1発しか撃てないわけだし・・


 Claude先生からの提案ではActivateメソッドを実装して、一気にBulletインスタンスを更新するスタイルなのだが・・


 とりあえずBullet構造体を定義し直して・・

 Bullet_shapeを定義

 初期化時点ではFalseにしておいて、他はどうせ見えてないのでテキトー

 Claude先生の提案のActivateメソッドも良いけども、{}でくくってその場で目的のフィールドだけ更新する方法は無いのか?と聞いてみる。


 これこれ!この書き方知りたかった。{}でくくれば;でいくらでも繋げることが出来そうだ。OK

 こーゆー書き方が許されていると判明したので・・

 もしもスペースキーが押されたときにBulletインスタンスのAtiveがFalseであったならば・・Playerインスタンスの各フィールドを参照して、向いている1つ前のマスにBullet.activeをTrueにして移動。これで弾丸発射の準備は整った!
 あと、問題は弾丸が前に進むときのインターバルと衝突判定だけど・・ま、なんとかなるだろう。

 今日も朝からずっと働いていて時間が取れなかった・・ちょっと年明けまでは今までみたいな長時間学習は難しいなぁ


  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事