繁体   English   中英

主机数据对象设置为Null参考Unity3D?

[英]Host Data Object set to Null Reference Unity3D?

我正在写一个多人游戏。 并检查OnGUI()是否有任何hostData做某事。

if (hostData)
{
   for (int i = 0; i < hostData.Length; i++)
   {
       GUI.Button (new Rect (btnX * 2f + btnW, btnY * 1.2f + (btnH * i), btnW * 3f, btnH * 0.5f), hostData [i].gameName);
   }
}

但是我已经通过单击按钮填充了主机数据,而另一方面,OnGUI始终在寻找if(hostData),这就是为什么它提供了Null引用的原因。

我如何检查这个if语句,然后其他。 帮帮我。

if (hostData)仅在hostData是游戏对象或组件时才有效。 这是因为Unity实现了隐式运算符

换句话说, if (gameObject)用作if (gameObject != null)的快捷方式。

当您使用游戏对象或组件(例如数组或列表)以外的其他东西时,此功能将无效。 在这种情况下,您必须使用!= null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM