游戏窗口是可以动态的添加与关闭的。
如下例:点击添加或关闭,窗口将执行添加与关闭可拖拽窗口的操作
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class window : MonoBehaviour {
ArrayList list = new ArrayList(); //使用ArrayList存储窗口
void Start()
{
list.Add(new Rect(0,50,150,100)); //添加一个窗口
}
void OnGUI()
{
int count = list.Count;
//遍历每个窗口,并且加入视图
for (var i = 0; i < count;i++ )
{
list[i] = GUILayout.Window(i,(Rect)list[i], AddWindow, "窗口id:" + i);
}
}
void AddWindow(int windowID)
{
//开始一个水平布局
GUILayout.BeginHorizontal();
//绘制文字
GUILayout.Label("这是一个全新的窗口");
//关闭水平布局
GUILayout.EndHorizontal();
//开始一个水平布局
GUILayout.BeginHorizontal();
if(GUILayout.Button("添加新窗口"))
{