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);}然后就出现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 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
Unity3D 吧?
错误原因是“委托参数不匹配”。
在 4.6 之前,Button.onClick.AddListener() 只能绑定没有参数的函数,例如:
btn.onClick.AddListener(onBtnClick); void onBtnClick() { //} |
4.6 之后允许匿名委托:
GameObject btnObj;btn.onClick.AddListener(delegate() { onBtnClick(btnObj); }); void onBtnClick(GameObject sender) { // } |
- 1 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消
