zoukankan      html  css  js  c++  java
  • 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), "我跑怎么的");
    
            
        }
    
    }
  • 相关阅读:
    linux中fork()函数详解
    并发和并行有什么区别?
    利用bochs调试Linux 0.11内核
    [调整] Firemonkey iOS 原生 Edit 透明框, 改变框色
    [修正] Firemonkey Windows 控件有虚线残影问题
    [示例] Firemonkey 图片按钮(3态)
    [示例] Firemonkey 不规则按钮实做
    [函数] Delphi FMX Windows 取得下载 Downloads 目录
    [工具] Firemonkey Style 调色工具(可另存 Style 文件)
    [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试
  • 原文地址:https://www.cnblogs.com/little-sun/p/4374662.html
Copyright © 2011-2022 走看看