スクリプトにはキャンバスをリロードする空白があります。 CanvasにはButtonオブジェクトが含まれています。スクリプトでreload voidを添付します。Unity3d c#。 onClick.AddListener()は一度しか動作しません
using UnityEngine;
using UnityEngine.UI;
public class Trashscript : MonoBehaviour {
public GameObject Temp;
private GameObject Active;
int Counter;
void Start()
{
Menu();
}
void Menu()
{
Counter++;
if (Active != null) Destroy(Active);
Active = Instantiate(Temp);
GameObject.Find("Text").GetComponent<Text>().text = Counter.ToString();
GameObject.Find("Btn").GetComponent<Button>().onClick.AddListener(Menu);
}
}
最初の呼び出し(Start voidから)は、「テキスト」要素が「1」と表示されます。 "Btn"をクリックした後、Canvasはリロードされますが、 "Text"がなく、 "Btn"が機能しません(onClickイベントは何もしません)。
ヘルプ。
私は単調ではありませんが、Menu()がイベントを自分自身に読み込んでいる可能性があります。リスナーだけを追加してみてください –