首页 > 编程语言 > 详细

5Unity-3d Day05

时间:2015-03-28 20:15:48      阅读:321      评论:0      收藏:0      [点我收藏+]

这两天呢  研究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), "我跑怎么的");

        
    }

}

 

5Unity-3d Day05

原文:http://www.cnblogs.com/little-sun/p/4374662.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!