【Unity エラー】CS1061 存在しないクラスやメソッドにアクセス
CS1061:存在しないメソッド、クラス、メンバーにアクセスしようとしたときに生じる。
書き間違えの可能性あり!
エラー内容
error CS1061: Type `UnityEngine.GameObject' does not contain a definition for `Image' and no extension method `Image' of type `UnityEngine.GameObject' could be found (are you missing a using directive or an assembly reference?)
ケース1
修正前
GameObject.Find("time_out").Image.enabled = false;
修正後
GameObject.Find("time_out").GetComponent<Image>().enabled = false;
ケース2
修正前
OnCollisionEnter2D(Collision2D col){ if(col.GameObject.transform.tag == "missileLeft"){ GetComponent<SpriteRenderer>().color = new Vector4(1, 0, 0, 1); } }
修正後
OnCollisionEnter2D(Collision2D col){ if(col.gameObject.transform.tag == "missileLeft"){ GetComponent<SpriteRenderer>().color = new Vector4(1, 0, 0, 1); } }
ケース3
エラー内容
error CS1061: Type `UnityEngine.AudioSource' does not contain a definition for `enable' and no extension method `enable' of type `UnityEngine.AudioSource' could be found (are you missing a using directive or an assembly reference?)
public void MusicOnOff(Toggle toggle){ // トグルを使ってオンオフをコントロールする MusicBackground.enable = toggle.isOn; if(toggle.isOn){ PlayerPrefs.SetInt("MusicOnOff",1); } else{ PlayerPrefs.SetInt("MusicOnOff",0); } }
gameObjectとGameObjectの違い
関連サイト