• 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类型,可以考虑下数组

  • 相关阅读:
    C the basics (DMA)
    穷举子集
    排序算法(1)
    C the basics (array, complex)
    Linux中date命令的各种实用方法
    syntaxhighlight实现帝国cms代码高亮/语法高亮(一)
    帝国cms修改评论表情每行显示个数
    java 中hashcode 与 equals的关系
    Java 远程调用与分布式通信的区别
    帝国CMS的phomenewspic/ecmsinfo标签详解
  • 原文地址:https://www.cnblogs.com/lv-sally/p/4374874.html
Copyright © 2020-2023  润新知