標籤: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 }
效果;
定義可用滑鼠移動的視窗:
在回呼函數中加入
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 }
效果:
C#編寫Unity基礎GUI之動態視窗