Unity 2Dゲーム開発日記 7日目 ~バグ~
Editor変えました。
でふぉが MonoDevelop ってやつだけど、日本語うてなかったりとかいろいろ使いづらかったので Sublime Text 2 でやることにしました。
変え方は Preferences → External tools にいじるとこあった。
めっちゃ見やすくした。
近接攻撃を実装したい。
アニメーションは前回作ったから、当たり判定だ。
遠距離攻撃できてるから同じ感じでいけそう。
バグッタ(;0;)
剣振ったときの当たり判定用にオブジェクト生成するところまではできた。
でもなぜか最初の1回だけ4つ出るバグを見つけた。弾も同様。
いろいろ見てたけど、FixedUpdate()のInput.GetKeyDownがなぜか複数回呼び出される。
こういうときのためのGithubでのバージョン管理?。バグをpushしていたのか。
どこまで戻ろう...
がんばります。
バグ、多分解決。
ゲームは初心者にやさしく: Unity初心者が学ぶ「Inputの正しい用法」
調べてたらここのページにたどり着いた。
やはりInputが複数呼び出されるということでそこの書き方が悪かったらしい。
Update1回に対してFixedUpdateが1回呼び出されるというわけではないみたい。勝手にUpdate→FixedUpdate→Updateみたいのを想像していた。
この記事にも書いてあるように、
Update関数で Input.GetKeyDown をして、actionをtrueにする。
FixedUpdate関数でif(action)みたいにして内容を書く。
というのが正しいみたいです。
FixedUpdateは物理演算を使った物体の動きとかを操作するときに使うんだったはず。ふむふむ。
やってみたら上手くいきました。
気をつけよう。
やったこと
- 弾の方向変えるやつとかをBullet.csに書くようにした。
- 剣振ったときの残像みたいな絵を書いた。
バグった。- バグ修正した。
やりたいこと
- バグ直すマン
- 剣アクションをちゃんと作るマン