c# - 面板在 NGUI 中隐藏和显示

标签 c# monodevelop unity3d ngui

我是 NGUIunity 3d 的新手。 我在 ui 根目录中有两个面板。它被命名为 firstPanelsecondPanel。 secondPanel 在场景中被停用。在firstPanel 中,我有很多按钮,其中一个是play 按钮,即图像按钮。当点击 play 按钮时,firstPanel 应该hidesecondPanel 应该show。我向 play 按钮添加了一个新脚本并在其中编写了代码

void OnClick(){
    GameObject panel2  = GameObject.Find("secondPanel");
    NGUITools.SetActive(panel2,true);       
    GameObject panel1  = GameObject.Find("firstPanel");         
    NGUITools.SetActive(panel1,false);

}

但是我得到了这个错误:"NullReferenceException" 我必须在 ngui 的哪个脚本中编辑,我该怎么做?请帮我解决这个问题 提前致谢。

最佳答案

如果您的面板命名为 Panel1 和 Panel2,您将无法使用 GameObject.Find("secondPanel") 和 GameObject.Find("firstPanel") 找到它们。如果“Panel1”和“Panel2”是游戏场景中唯一的名称(没有其他Panel1或Panel2),那么你可以尝试使用

void OnClick(){
  GameObject panel2  = GameObject.Find("Panel2");
  NGUITools.SetActive(panel2,true);       
  GameObject panel1  = GameObject.Find("Panel1");         
  NGUITools.SetActive(panel1,false);

}

关于c# - 面板在 NGUI 中隐藏和显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744155/

相关文章:

xcode - Mono 和 iOS 6 构建错误 MT0000

c# - 在 Mac OS X 上编译 moonlight 应用程序

c# - 与 WCF 服务共享枚举

c# - 捕获不相关进程的输出

c# - 重写继承方法时避免显式类型转换

c# - 使用字符串实现自定义 IComparer

c# - 为什么我不能在 Debug模式下运行 C# 控制台应用程序? (MonoDevelop 问题?)

unity3d - 如何检测我的物体是否完全在盒子内?

c# - 如何将unity ios项目集成到原生ios swift项目中?

c# - 如何等待一个 GameObject 实例从另一个 GameObject 实例的 Start with Unity 完成自己的 Start?