如何在Unity3D中创建弹出窗口?

3
我想为我的游戏创建一个弹出框,我的要求是当用户单击按钮时打开一个弹出框。弹出框包含一个图像作为其背景,在右上角有一个关闭按钮以及两个按钮(比方说“是”和“否”)。 我进行了研究,但找不到相关的内容。任何帮助将不胜感激。
附言:我不想使用任何第三方插件,如NGUI、2D ToolKit等。

你使用的是哪个版本的Unity3D?(如果是4.6,那么你有一个相当不错的增强GUI工具集) - Gounemond
@Gounemond:我正在使用Unity 4.5.2。 - Akshay
2个回答

3

Unity 4.5及以下版本

您可以使用遗留的UI系统在GUITexture上构建大多数组件。

从下面的方案纹理构建背景和按钮。对于按钮,您还需要使用GUIText并使其可点击/触摸。

http://docs.unity3d.com/Manual/class-GuiTexture.html

有关更多信息,请参见脚本指南。

http://docs.unity3d.com/Manual/GUIScriptingGuide.html

Unity 4.6或更新版本

Unity的GUI系统让您轻松完成此操作。您将需要一个Canvas和一个Sprite作为背景,并将两个按钮作为子级分别用于“是”和“否”。

enter image description here

首先请查看介绍:http://unity3d.com/learn/tutorials/modules/beginner/live-training-archive/the-new-ui

手册显示了所有组件:http://docs.unity3d.com/Manual/UISystem.html

GUI参考:http://docs.unity3d.com/ScriptReference/GUI.html


感谢您的支持,但是在我的Unity编辑器(版本4.5.2)中,我无法找到菜单->游戏对象->UI,编辑器中没有UI。我该怎么办? - Akshay
1
@Akshay 哦,很抱歉。所提到的功能从版本4.6开始提供。 - aggsol
谢谢您的快速回复,是否有任何解决方案可以在同一版本中实现我的要求?或者,如果我使用Unity 4.6构建弹出窗口,则无法在低版本的Unity编辑器上运行。 - Akshay
@Akshay,你可以使用传统的GUI系统,其中包括GUITextureGUIText。请参考我的答案了解详情。 - aggsol

0
尝试使用JavaScript为弹出按钮创建类似于此的内容:
var popupactive : boolean = false;
var (Name of the GUI window) : GUITexture;
var (Picture1) : GUITexture;
var (Picture2) : GUITexture;
var (Picture3) : GUITexture;
(Name off the GUI window).enabled = false;
(Picture1).enabled = false;
(Picture2).enabled = false;
(Picture3).enabled = false;   

function OnMouseUp(){
   if(popupactive==false){
       popupactive = true;
       }
       else{
       popupactive = false;
       (Name of the GUI window).enabled = false;
       }
}

然后尝试添加一个函数,用于关闭GUI的退出按钮和“否”按钮以关闭打开的GUI,还要记得在代码中导入分配给不同按钮的单独脚本!同时也要记得在Unity编辑器中进行分配。希望能有所帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接