staticのエラーを解決
他のstaticでないメソッドにアクセスする際はちゃんと参照取らないとダメだよ。っていうことを今日になってやっと理解しました。
//これは動かない ScoreManager.ScoreUpdate(myPoint); //これなら動く GetComponent<ScoreManager>().ScoreUpdate(myPoint);
きちっとインスタンスかしたオブジェクトを参照しやがれ。ということみたいです。
ちなみに別オブジェクトのスクリプトを参照する場合は、下にも書いていますがオブジェクトを参照してからじゃないと動かないです。
エラーが出るとその先は実行されない
Unityはエラーが出た箇所から先のプログラムは飛ばされるらしいです。
JavaScriptの場合はエラーが出たらそもそも動かないか、もしくはその部分だけ飛ばして次のコードは実行されるので、Unityもそうだと思っていたが違った。
オブジェクトが参照できない
NullReferenceException: Object reference not set to an instance of an object
2日前からよくわからなかったエラーですが、やっと解決しました。
別のオブジェクトに付いてるScriptの関数を実行しようとして、このエラーが出てきました。
間違え
Scriptを取得するために書いたのが下のコードです。
ScoreManager sm = GetComponent<ScoreManager>();
これではダメで、別のオブジェクトに付いているScriptを参照する場合は、そのオブジェクトを取得してからでないとScriptを取得することができません。
完成//完成版 //Scriptが入っているオブジェクトを取得 GameObject scoreManagerObj = GameObject.Find("ScoreManagerObject"); //オブジェクトからScriptを取得 ScoreManager scoreManager = scoreManagerObj.GetComponent<ScoreManager>(); //Scriptを実行 scoreManager.ScoreUpdate(myPoint);
文字をデカくすると消える
Overflowというところをいじると、枠を飛び出しても消えずに表示されるようになります。
Unityの勉強が間に合わない
1week で馬鹿にされるのが見える。
ぶっちゃけUnity始めて1週間でGameJamに参加するのって明らかに無謀な気がする。
やるまえは普通にいけると思ったけど、やってみたらやっぱり無理そうだわ。っていうのが僕の人生の大半を占めている気がする。
まあ1week やりますけどね。ただこっそりやります。だって恥ずかしいから。
宣言したのにやらないのは数少ない読者に失礼ですし。
あと5日で始まりますが、せいぜい頑張ります。