码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-09-23 01:08:13      阅读:404      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   使用   2014   div   sp   

1.创建窗口

 1 //声明窗口位置大小
 2     private Rect pos = new Rect(10,60,120,50);
 3 
 4     //回调函数
 5     void Wincallback(int id)
 6     {
 7         if(GUI.Button(new Rect(10,20,100,20),"窗口内按钮")){
 8             print("按钮在窗口内被单击");
 9         }
10     }
11 
12     void OnGUI()
13     {
14         pos = GUI.Window(0, pos, Wincallback, "我的窗口");
15     }

效果;

bubuko.com,布布扣

 

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

在回调函数中加入

1 void Wincallback(int id)
2     {
3         if(GUI.Button(new Rect(10,20,100,20),"窗口内按钮")){
4             print("按钮在窗口内被单击");
5         }
6 
7         GUI.DragWindow();
8     }

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

若使用

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

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

 

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

 1 private Rect pos = new Rect(10,60,120,50);
 2 
 3     //回调函数
 4     void Wincallback(int id)
 5     {
 6         if(GUI.Button(new Rect(10,20,100,20),"窗口内按钮")){
 7             print("按钮在窗口内被单击");
 8         }
 9 
10         GUI.DragWindow(new Rect(0,0,100,50));
11     }
12 
13     private bool showWin = true;
14 
15     void OnGUI()
16     {
17         showWin=GUI.Toggle(new Rect(0,0,100,20),showWin,"显示窗口");
18 
19         if (showWin)
20         {
21             pos = GUI.Window(0, pos, Wincallback, "我的窗口");
22         }
23     }

效果:

bubuko.com,布布扣

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

标签:style   blog   http   color   os   使用   2014   div   sp   

原文地址:http://www.cnblogs.com/lhyz/p/3987314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!