您的位置:首页 > 移动开发 > Unity3D

C#编写Unity基础GUI之动态窗口

2014-09-22 23:39 465 查看
1.创建窗口

//声明窗口位置大小
private Rect pos = new Rect(10,60,120,50);

//回调函数
void Wincallback(int id)
{
if(GUI.Button(new Rect(10,20,100,20),"窗口内按钮")){
print("按钮在窗口内被单击");
}
}

void OnGUI()
{
pos = GUI.Window(0, pos, Wincallback, "我的窗口");
}


效果;



定义可用鼠标移动的窗口:

在回调函数中加入

void Wincallback(int id)
{
if(GUI.Button(new Rect(10,20,100,20),"窗口内按钮")){
print("按钮在窗口内被单击");
}

GUI.DragWindow();
}


注意此时需要把此函数放到回调函数结尾;

若使用

GUI.DragWindow(new Rect(0,0,100,50));


则会限制可拖动的区域(我测试了,但是效果不怎么好);

使用开关控制显示窗口与否:

private Rect pos = new Rect(10,60,120,50);

//回调函数
void Wincallback(int id)
{
if(GUI.Button(new Rect(10,20,100,20),"窗口内按钮")){
print("按钮在窗口内被单击");
}

GUI.DragWindow(new Rect(0,0,100,50));
}

private bool showWin = true;

void OnGUI()
{
showWin=GUI.Toggle(new Rect(0,0,100,20),showWin,"显示窗口");

if (showWin)
{
pos = GUI.Window(0, pos, Wincallback, "我的窗口");
}
}


效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: