「たのしい2Dゲームの作り方 Unityではじめるゲーム開発入門」
で、サイドビューゲームを作成しながら勉強しています。
137ページのところで、書籍通りにC#のコードを書き、実行してみたところ
Assets\Player\PlayerController.cs(133,22): error CS1061: 'Collider2D' does not contain a definition for 'gemeObject' and no accessible extension method 'gemeObject' accepting a first argument of type 'Collider2D' could be found (are you missing a using directive or an assembly reference?)
上記のエラーがでました。
大文字小文字などのスペルミスがないか何度も確認しましたが書籍通りです。
コードは書籍通りなのにエラーがでるのはUnityのバージョンが原因かと思い
Unithバージョン:2020.3.18f1で、作成していたので
書籍のバージョンの、2020.1.15f1で実行しなおしてみましたが
同じエラーがでて解決しませんでした。
このエラーをグーグルで検索して調べていたら
https://forum.unity.com/threads/error-cs1061-collider2d-does-not-contain-a-definition-for-gameobject.942867/
このページにたどり着き
//接触開始 void OnTriggerEnter2D(Collider2D collision) { if(collision.gameObject.tag == "Goal") { Goal(); //ゴール! } else if(collision.gameObject.tag == "Dead") { GameOver(); //ゲームオーバー!! } }
上記のコードからgameObjectを削除して
//接触開始 void OnTriggerEnter2D(Collider2D collision) { if(collision.tag == "Goal") { Goal(); //ゴール! } else if(collision.tag == "Dead") { GameOver(); //ゲームオーバー!! } }
にしたところ、エラーが消えて実行できるようになりました。
実行して動かしてみましたが、ちゃんと書籍の意図通りに動きます。
実行できるようにはなりましたが、なぜgameObjectを削除したら解決したのかという理由がまったくかみ砕けていません。
書籍通りにコードを記載したはずなのに、
なぜgameObjectを削除したら実行できるようになったのかが理解できていないので自分の中で消化できていません
考えられる原因がわかる方、ご教授いただけるとうれしいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。