別のオブジェクトにあるスクリプト内のメソッドを使用する方法を教えてください。
ネットで解説サイトを見て、やってみたのですが、エラーが出てうまくいきません。
解説サイトのソースコードをそのまま貼り付けたのに、エラーが出るので全く謎です。
私のやり方の何かが間違ってると思うのですがどこでしょうか?
コードを貼ります。
呼び出される側のスクリプト(オブジェクトAに貼り付けてます)
public class A : MonoBehaviour { public void PopUp() { gameObject.transform.Translate(0.0f, 1.0f, 0.0f); } }
呼び出す側のスクリプト (オブジェクトBに貼り付けてます)
public class B : MonoBehaviour { void Update() { if (Input.GetMouseButtonDown(0)) { // マウスがクリックされたら以下を実行 A a = GetComponent<A>(); a.PopUp();//★ここでエラー★ }
これを実行して、マウスクリックすると、以下のエラーが出ます。
NullReferenceException: Object reference not set to an instance of an object
B.Update () (at Assets/B.cs:14)
エラーが出てるのは★マークをつけた行です。
まんま貼り付けただけなのに、エラーが出るので原因不明で困ってます。
よろしければ、原因を教えてください。
一応、参考にした解説サイトのURLは以下です。
http://www.cho-design-lab.com/2013/08/18/unity-reference-other-script/
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/06 04:01
退会済みユーザー
2019/05/06 06:16
2019/05/06 16:14