UnityEvent 与数组显示空引用错误
Posted
技术标签:
【中文标题】UnityEvent 与数组显示空引用错误【英文标题】:UnityEvent with array showing null reference Error 【发布时间】:2016-01-04 05:47:14 【问题描述】:这是代码 sn-p。我做错了什么。
using UnityEngine;
using System.Collections;
using UnityEngine.Events;
public class UnityEventSystemDemo : MonoBehaviour
UnityEvent[] objUE;
// Use this for initialization
void Start ()
objUE = new UnityEvent[2];
objUE[0].AddListener(CustomEvent);///Null ref at this point
objUE[1].AddListener(CustomEvent);
// Update is called once per frame
void Update ()
if (Input.GetMouseButtonDown(0))
Debug.Log("left clicked..");
//calling Events
objUE[0].Invoke();
objUE[1].Invoke();
void CustomEvent()
Debug.Log("customEvent..");
void CustomEvent1()
Debug.Log("customEvent1..");
NullReferenceException:对象引用未设置为 对象 UnityEventSystemDemo.Update () (在 资产/脚本/UnityEventSystemDemo.cs:23)
【问题讨论】:
该错误是哪一行代码? (这里没有行号) 我已经更新了我的代码请看 以防万一,如果您打算遍历数组以调用所有侦听器,您可以将多个侦听器添加到一个而不是数组中。 【参考方案1】:您忘记初始化数组元素。尝试像这样更新您的 Start 方法。
objUE = new UnityEvent[2];
objUE[0] = new UnityEvent();
objUE[0].AddListener(CustomEvent);///Null ref at this point
objUE[1] = new UnityEvent();
objUE[1].AddListener(CustomEvent);
【讨论】:
非常感谢 Marius Junak!以上是关于UnityEvent 与数组显示空引用错误的主要内容,如果未能解决你的问题,请参考以下文章
错误 #1009:无法访问空对象引用 AS3 项目的属性或方法
尝试在空对象引用上调用虚拟方法“double android.location.Location.getLatitude()”,在下面这一行中显示错误