unity i -school パズルゲーム 手順9で起きた 外部のスクリプトからメソッドを呼び出そうとしたらメソッドに赤線が引かれたんだが? アクセス修飾子のミス
この記事は著者がYouTubeなどのサイトでunityを使って勉強してる時に起きたバグをメモがわりに書いたものを書き直して記事にしたものですので色々不自然なとかがあります。人によって開発環境とかも違うので参考までに、軽くみてください。
今回は著者が i-schoolのパズルゲーム 手順9の学習を行なっていた時に遭遇したミスを紹介します。
18.GameManagerスクリプトを修正する⑤ スコアと消した干支の数を加算する処理を追加する
<メソッド内で別のクラスのメソッドの呼び出しを行う>
ここでGameManagerを修正して、UIManagerのUpdateDisplayScoreメソッドを呼び出そうとした時に
なぜかUpdateDisplayScoreに赤線が引かれて呼び出せませんでした。
原因
UIManagerスクリプト内のUpdateDisplayScoreメソッドのアクセス修飾子がprivateになっていた。
対処法
publicにした。
はい!まさかのアクセス修飾子をprivateにしていました!
いやー、当時の自分は何をしていたのでしょうか?
外部のスクリプトから呼び出したいメソッドは
アクセス修飾子を public にしないと呼び出せないので気をつけましょう!
もしメソッドを呼んだ時に メソッド名に赤線がついていたら、メソッドのアクセス修飾子をprivateにしてるかもしれないです。