• unity GUI练习1


    第一次在c#脚本中引用泛型类的命名空间(很激动,竟然可以这样),觉的unity很强大可以引用微软的命名空间,调用以前熟悉的函数

    C#脚本中arrylist无法判断arry数组的类型,应为arrylist可以添加各种类型在使用的时候进行装箱拆箱,在类型确定的情况可以使用泛型,需要引入命名空间:

    using System.Collections.Generic;

    我的练习:

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    
    public class win1 : MonoBehaviour {
        List<Rect> rect1 = new List<Rect>();
        //ArrayList list = new ArrayList();
        // Rect[] rect;
        //public Texture otexture;
        // Use this for initialization
        void Start()
        {
            rect1.Add(new Rect(rect1.Count * 100, 50, 150, 100));
            // list.Add(new Rect(list.Count * 100, 50, 150, 100));
        }
        void OnGUI()
        {
            //int count = list.Count;
            for (int i = 0; i < rect1.Count; i++)
            {
                rect1[i] = GUI.Window(i, rect1[i], myWin, "小毛驴" + i);
                //list[i] = GUI.Window(i, list[i], myWin, "小毛驴" + i);
            }
        }
        void myWin(int id)
        {
            if (GUILayout.Button("添加新窗口"))
            {
                rect1.Add(new Rect(rect1.Count * 100, 50, 150, 100));
                //list.Add(new Rect(list.Count * 100, 50, 150, 100));
            }
            if (GUILayout.Button("关闭当前窗口"))
            {
                rect1.RemoveAt(id);
                //list.RemoveAt(id);
            }
            GUI.DragWindow(new Rect(0, 0, Screen.width, Screen.height));
        }
    }

    注释部分,使用的时arrylist,会提示,函数参数不是最匹配形式,这里可以使用泛型将其设置为Rect类型,可以考虑下数组

  • 相关阅读:
    SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -2(虚拟IP视角)
    Android LitePal
    Android SQLite
    汇编语言知识点总结
    三层架构
    将博客搬至CSDN
    回溯(二)
    Android持久化技术
    Android广播时间——实现强制下线功能
    Android广播机制(2)
  • 原文地址:https://www.cnblogs.com/lv-sally/p/4374874.html
Copyright © 2020-2023  润新知