• Unity-3d Day05


    这两天呢  研究GUI了

    感觉上呢 方法名 都挺长 看似不好学  其实全都是公式

    用的时候往上搬就可以了

    GUI就是图形用户界面

    GUI只能编写在OnGUI⽅法中,此处通过案例,将图中的GUI实现出来
    有关GUI的代码必须写在OnGUI⽅法中
    OnGUI⽅法每帧执⾏两次

    GUIlayout : Label 创建⼀个⾃动布局的标签
          Box 创建⼀个⾃动布局的box
          Toggle 创建⼀个开关按钮
          HorizontalSlider 创建⼀个⽔平滑动条,可以拖动改变  
          在最⼩只和最⼤值之间的值
          Toolbar 创建⼀个⼯具栏

    觉得不是很常用自动布局的话方便  但是窗口一动 布局就跟着动了

    GUI(⾃定义布局):

      Button 创建⼀个按钮,⽤户点击的时候出发⼀事件
      TextArea 创建多⾏⽂本区域,编辑字符
      SelectionGrid 创建按钮⺴格
      BeginScrollView 滚动视图的开始部分
      EndScrollView 滚动视图结束部分(必须和Begin成对出现)
      Window 创建⼀个弹出窗⼝
    直接上代码吧,都是公式。。。。。

    using UnityEngine;
    using System.Collections;
    
    public class GUIScript : MonoBehaviour {
        public GUISkin skin;
        // Use this for initialization
        void Start () {
        
        }
        
        // Update is called once per frame
        void Update () {
            
        }
        
        //都得定义变量  要不不变
        private bool toggle = false;
        private float slider = 50f;
        private int toolbar = 0;
        private string text = "请输入文字";
        private Vector2 scollPosition = new Vector2(0, 0);
        public float x = 0;
        public float y = 100;
        public float tempx = 0;
        public float tempy = 0;
        public Texture2D texture;
        
        void OnGUI() {
            //水平显示 要有end
            GUILayout.BeginHorizontal();
            GUILayout.Label("蓝鸥",GUILayout.Width(100),GUILayout.Height(100));
            GUILayout.Label("宇哥");
            if (GUILayout.Button("呵呵")) {
                //GUILayout.Label("宇哥呵呵");
                print("hehe");
            }
    
            //checkbox 要有变量  要不不动
            GUILayout.Box("box");
            GUILayout.EndHorizontal();
            toggle = GUILayout.Toggle(toggle, "");
    
            //水平滑动条
            slider = GUILayout.HorizontalSlider(slider, 0f, 100f);
            GUILayout.Label(slider.ToString());
    
            //工具栏
            string[] strs = { "shuibei", "baixin", "lixin" };
            toolbar = GUILayout.Toolbar(toolbar, strs);
    
            //文本输入框
            Rect rect = new Rect(100, 100, 100, 100);
            GUI.Box(rect,"lanou");
            text = GUI.TextArea(new Rect(100, 200, 100, 100), text);
    
            //滚动  别忘e                          框位置                   滚动条位置      内容框大小
            scollPosition = GUI.BeginScrollView(new Rect(0, 0, 500, 500), scollPosition,new Rect(0,0,1000,1000));
            //内容位置是相对于框的位置
            GUI.Button(new Rect(0, 0, 100, 100), "Button1");
            GUI.Button(new Rect(0, 100, 100, 100), "Button2");
            GUI.EndScrollView();
    
            //改皮肤  带劲了啊  皮肤在unity中定义 写在前面有效
            GUI.skin = skin;
    
            //点button,box动
            if (GUI.Button(new Rect(0, 0, 100, 100), "你跑啊你跑啊"))
            {
                tempx = Random.Range(0, 500);
                tempy = Random.Range(0, 500);
            }
            x = Mathf.Lerp(x, tempx, Time.deltaTime * 2);
            y = Mathf.Lerp(y, tempy, Time.deltaTime * 2);
            GUI.Box(new Rect(x, y, 100, 100), "我跑怎么的");
    
            
        }
    
    }
  • 相关阅读:
    使用自定义RadioButton和ViewPager实现TabHost效果和带滑动的页卡效果
    Android 实现文件上传功能(upload)
    Hibernate配置文件
    ICMP报文分析
    AVC1与H264的差别
    内存泄漏以及常见的解决方法
    数据挖掘十大经典算法
    关于java的JIT知识
    Ubuntu安装二:在VM中安装Ubuntu
    hdu 1520Anniversary party(简单树形dp)
  • 原文地址:https://www.cnblogs.com/little-sun/p/4374662.html
Copyright © 2020-2023  润新知