if(t.name.CompareTo("btn_try")==0){m_btn_try=t.GetComponent<Button>();m_btn_try.onClick.AddListener(OnButRetry);m_btn_try.gameObject.SetActive(false);}........void OnButRetry(GameObject go){Application.LoadLevel (Application.loadedLevelName);}然后就出現(xiàn)Assets/Scripts/GameManager.cs(59,51): error CS0123: A method or delegate `GameManager.OnButRetry(UnityEngine.GameObject)' parameters do not match delegate `UnityEngine.Events.UnityAction()' parameters
1 回答

胡說(shuō)叔叔
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
Unity3D 吧?
錯(cuò)誤原因是“委托參數(shù)不匹配”。
在 4.6 之前,Button.onClick.AddListener() 只能綁定沒(méi)有參數(shù)的函數(shù),例如:
btn.onClick.AddListener(onBtnClick); void onBtnClick() { // } |
4.6 之后允許匿名委托:
GameObject btnObj; btn.onClick.AddListener( delegate () { onBtnClick(btnObj); }); void onBtnClick(GameObject sender) { // } |
- 1 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)
0/150
提交
取消