版本:Unity 6(6000.0)
语言英语
  • C#

UnityEvent.AddListener

建议更改

成功!

感谢您为我们提升 Unity 文档的质量作出的贡献。虽然我们无法接受所有的提交意见,但我们会仔细阅读用户提出的每条建议更改,并在适用之处进行更新。

关闭

提交失败

由于某种原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public void AddListener(Events.UnityAction call);

参数

call 回调函数。

说明

向 UnityEvent 添加一个非持久侦听器。

添加一个运行时回调。您可以添加许多不同的侦听器。如果您多次添加相同的侦听器,只会向特定的侦听器进行一次调用。

//Attach this script to a GameObject
//This script creates a UnityEvent that calls a method when a key is pressed
//Note that 'q' exits this application.
using UnityEngine;
using UnityEngine.Events;

public class Example : MonoBehaviour { UnityEvent m_MyEvent = new UnityEvent();

void Start() { //Add a listener to the new Event. Calls MyAction method when invoked m_MyEvent.AddListener(MyAction); }

void Update() { // Press Q to close the Listener if (Input.GetKeyDown("q") && m_MyEvent != null) { Debug.Log("Quitting"); m_MyEvent.RemoveListener(MyAction);

#if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #endif

Application.Quit(); }

//Press any other key to begin the action if the Event exists if (Input.anyKeyDown && m_MyEvent != null) { //Begin the action m_MyEvent.Invoke(); } }

void MyAction() { //Output message to the console Debug.Log("Do Stuff"); } }