• 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 ();//该函数放在最后,即可实现窗口的拖拽效果
        }
    }    
  • 相关阅读:
    Javascript函数的简单学习
    JAVA学习绘图颜色及其笔画属性设置字体显示文字
    JAVA学习路线图
    JAVA学习AWT绘图
    JAVA学习Swing章节按钮组件JButton的简单学习
    JAVA学习Swing章节JPanel和JScrollPane面板的简单学习
    JAVA学习Swing章节流布局管理器简单学习
    JAVA学习Swing绝对局部简单学习
    JAVA学习Swing章节标签JLabel中图标的使用
    JAVA学习中Swing部分JDialog对话框窗体的简单学习
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/6953380.html
Copyright © 2020-2023  润新知