ボタンに以下のスクリプトをつけたところ、ボタンは反応するのですが、動作しません。
スクリプトの内容は、あるボタンを押すと、3つのボタンがSetActiveにするという内容です。
C#
1using UnityEngine; 2 3public class GiveFood : MonoBehaviour { 4 5 public GameObject buttonCheeze; 6 public GameObject buttonHot; 7 public GameObject buttonDonut; 8 9 // Update is called once per frame 10 public void Click() { 11 if (Input.GetMouseButtonDown(0)) 12 { 13 Debug.Log("Give Food"); 14 buttonCheeze.SetActive(true); 15 buttonHot.SetActive(true); 16 buttonDonut.SetActive(true); 17 } 18 } 19} 20
public void Clickにして、ボタンのInspectorのOn Clickからアタッチしているのですが、
動作してくれません。(ボタンを押すと色が変わるので押せてはいると思います。)
同じCanvas内に別のボタンを同じようなスクリプトを書いてアタッチしているのですが、そちらは動きます。
別のターゲットが邪魔をしていないかや、【Unity】ボタンが押せない!チェックすべき7つのポイントも確認しました。
InspectorのOn Click()でアタッチする時は、一つのボタン上で設定しなければならないのでしょうか。(一応試しました)
public void Click() {}を外して、void Updateで試したら正常に動いた(目的とする3つのボタンを表示することができた)ので、おそらくその部分がいけないのですが・・・
これからUnity GUI 複数ボタンからどのボタンが押されたか判別をする方法。
で複数のボタンを一つのスクリプトで制御するのを試してみます。もしこれで解決しましたら、すぐにこの質問を更新させていただきます。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー