zoukankan      html  css  js  c++  java
  • Unity3D学习笔记(一)GUI控件的调用

    GUI控件:
    1.在Start中初始化,在OnGUI中调整。
    2.公有变量才会出现在Inspector面板。
    3.GUI控件的初始化和处理在OnGUI内完成。
    4.JavaScript的中文为UTF-8编码可显示,CSharp的中文为UTF-16编码可显示。

    基本信息:

    屏幕宽高:Screen.width Screen.height
    图片宽高:img.width img.height

    一 标签Label
    GUI.Label(Rect(x,y,width,height),<Str or Texture, such as Texture2D>);

    二 按钮Button
    var buttonTexture : Texture2D;
    GUI.Button(Rect(x,y,width,height),buttonTexture);
    设置文字颜色:GUI.color = Color.green;
    设置背景颜色:GUI.backgroundColor = Color.red;

    三 输入框TextField
    message = GUI.TextField(Rect(x,y,width,height),message,size);
    message = GUI.PasswordField(Rect(x,y,width,height),message,"*"[0],size);
    返回值类型为String.

    四 复选框与标签页selectToggle and Toolbar
    var barResource : String[] = ["bar1","bar2","bar3",...];
    var select : int;
    var state : boolean;
    select = GUI.Toolbar(Rect,default,barResource);//第二个参数为默认在第几个标签上,后面为名字列表,
    有几个元素就有几个标签。
    获取标签页:select = GUI.Toolbar(...);
    获取复选框:state = GUI.Toggle(Rect,state,<name>);

    五 滑动条Slider
    var now_value : int = 0;
    now_value = GUI.VerticalSlider(Rect,now_value,endvalue,startvalue)

    六 滚动条ScrollView
    定义Vector2变量储存水平和垂直滚动条位置。
    var scrollPosition : Vector2;
    scrollPosition[0] = <水平初始位置>;
    scrollPosition[1] = <垂直初始位置>;

    scrollPosition = GUI.BeginScrollView(<Rect滚动视图>,<Vector2起始位置>,
                         <Rect整体显示范围(大于parameter1)>,true,true);
    //最后两个参数表示是否智能显示,即不该显示滚动条就不显示。

    七 群组Group
    群组内采用相对坐标,且群组移动组内物体统一移动。
    GUI.BeginGroup(new Rect(x,y,width,height));
    //在这里添加组内成员
    GUI.EndGroup();

    八 窗口Window
    GUI.Window(ID,Rect,window_function,name);
    使用:Debug.log(<string>);可以在最下面的消息面板输出字符串。

    九 样式表GUISkin
    使用:GUI.skin = mySkin来应用样式表

    十 布局GUILayout
    GUILayout自动计算显示区域。
    大部分空间的绘制可以将GUI类换为GUILayout类。
    GUILayout也可以设置布局的宽高。利用Width与Height方法。
    使用:BeginHorizontal()与EndHorizontal()方法
    默认是垂直布局,因此多个布局之间默认以垂直方式排列。
    以及:BeginVertical()与EndVertical()方法
    可以设定水平、垂直布局,且可以嵌套使用。

    十一 链表ArrayList()类
    使用 :var winArrayList = new Arraylist();声明
    Add方法添加一个节点,RemoveAt方法删除一个节点。
    对于窗口的用法:
    winArrayList.Add(Rect);
    winArrayList[i] = GUILayout.Window(...);
    winArrayList.RemoveAt(windowID);

    一二 静态图片DrawTexture
    var pic : Texture2D;
    GUI.DrawTexture(Rect,pic);

    实用的类方法width和height可以获取图像的实际宽高,例如pic.width

    十三 2D动画
    使用Object[]类型的数组存储动画帧
    载入动画帧的方法:
    private var animation : Object[];
    animation = Resources.LoadAll("<Folder Name>");//载入 /Resouurces/<Folder Name>/ 下全部图片
    绘制动画就是采用GUI.DrawTexture方法。


  • 相关阅读:
    华为笔试
    进程间通信——管道通信
    进程间通信——使用WM_COPYDATA消息通信
    混合高斯背景建模
    基于mean shift的目标跟踪算法
    Lukas-Kanade光流法
    【CUDA并行编程之八】Cuda实现Kmeans算法
    【CUDA并行编程之七】数组元素之和
    【CUDA并行编程之六】KNN算法的并行实现
    【CUDA并行编程之五】计算向量的欧式距离
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154278.html
Copyright © 2011-2022 走看看