boolの値が常にtrueになる不具合
About
Unityでデバッグ作業を行っていたところ、なぜかboolの値が延々とtrueになる不具合に遭遇しました。ここではその件についてメモしておきます。
症状と原因
原因は未だにわかっていませんが、おそらく"文字コード"が原因かと思われます。エディタにはVisualStudioを利用していたので可能性はあります。ただしコンパイルエラーとはならず正常に実行できていました。
症状
- クラス変数として設けたprivateのbool型変数が常にtrueを示す
- Input.GetKeydown(string)等のメソッドの戻り値が常にtrueを示す
- 変数への代入と参照を行っているにもかかわらず、定義したbool型のクラス変数が利用されていないという警告が出る
問題の解決
解決した方法
文字コードが原因の可能性を察して、一度プログラムソースを全てコピーして文字コードや装飾を一切取り払うようなテキストエディタなどに貼り付け、再度コピーして元に戻すことで不具合は解決されました。
解決されなかった方法
次の方法では解決することができなかったのでメモとして残しておきます。
- Unityのリセットと再起動
- 別プロジェクトの読み込みの後、再度対象のプロジェクトを読み込み
- Monoエディタでの編集と保存
- PCの再起動