zoukankan      html  css  js  c++  java
  • unity3d创建window

    unity3d创建windwo的方法如下:

    GUILayout.Window (1, new Rect (50, 50, 200, 100), Func1, "窗口1");

    第一个参数是新创建的窗口的编号,可以自定义,这里定义为了1;

    第二个参数是窗口的GUI坐标位置,其中50,50表示左上角的坐标,200,100表示右下角的坐标,两点确定一个矩形;

    第三个参数是创建该窗口后调用的方法,会自动将第一个参数传入该函数;

    第四个参数是该窗口的名字。

    其中func1函数如下:

    void Func1(int id){
        if (id == 1) {
            //id与绘制窗口时的编号是一致的,用于区分是哪一个窗口调用
            GUILayout.Button ("这是一个按钮");
        }
    }

    这时候的界面如图1所示:

    图1

    下面修改一下需求:

    运行程序后,首先界面上有一个按钮show,点击该按钮后显示上图1所示,再点击图1中的按钮后窗口1隐藏。且窗口一能够实现拖动效果。

    具体代码如下:

    private bool isShow;//显示是否为真
    private Rect windowPos;//窗口坐标
    
    // Use this for initialization
    void Start () {
        isShow = false;//初始值为false,即窗口1不显示
        windowPos = new Rect (50, 50, 200, 100);//窗口1的默认位置
    }
    
    void OnGUI(){
            //思路是:当点击按钮show时,isShow为真,在第二个判断条件中显示窗口
            //其中,窗口位置也是一个变量,这样才可以避免每一帧擦除时重新绘制为变化后的位置
        if (GUILayout.Button ("Show")) {
            isShow = true;
        }
        if (isShow) {
            windowPos = GUILayout.Window (1, windowPos, Func1, "窗口1");
        }
    }
    
    void Func1(int id){
        if (id == 1) {
        //id与绘制窗口时的编号是一致的,用于区分是哪一个窗口调用
            if (GUILayout.Button ("这是一个按钮")) {
                isShow = false;
            }
            GUI.DragWindow ();//该函数放在最后,即可实现窗口的拖拽效果
        }
    }    
  • 相关阅读:
    linux——系统内核参数优化
    nginx 开启高效文件传输模式
    nginx——Nginx 处理事件模型
    Nginx 单个进程允许的最大连接数
    nginx传世经典
    Python中常见的数据类型总结(二)
    Python中常见的数据类型总结(一)
    Web压力测试工具 webbench
    性能测试概念点分析与过程讲解(四)--抓包
    性能测试概念点分析与过程讲解(三)
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/6953380.html
Copyright © 2011-2022 走看看