如果单单的调用点击的方法,按钮被点击的效果是不会被看到的。
private void OnGUI() { if (GUILayout.Button("Button Click")) { // ExecuteEvents.Execute<IPointerClickHandler>(button.gameObject, new PointerEventData(EventSystem.current), ExecuteEvents.pointerClickHandler); //会有按钮点击的效果出现 ExecuteEvents.Execute<ISubmitHandler>(button.gameObject , new PointerEventData(EventSystem.current), ExecuteEvents.submitHandler); } if (GUILayout.Button("Image Click")) { //单单就是触发点击事件,添加了EventTrigger的Image ExecuteEvents.Execute<IPointerClickHandler>(img.gameObject , new PointerEventData(EventSystem.current), ExecuteEvents.pointerClickHandler); } }
ExecuteEvents等类都是在UnityEngine.EventSystems命名空间中