我和我的小伙伴们一起学Unity3D(三)GUISkin 界面皮肤

调试完上节的GUI控件,那有些爱美的小朋友可能会在心里怒喊,我擦!老子裤子都脱了就给我看这么难看的控件,坑爹呢 发火,那好,为了不被小朋友拿西瓜刀砍死,今天就教大家如何制作游戏开始界面。废话不多说,先上本节要用到的资源(0分的资源,求各位同学下载给赚个积分,小弟也要积分去学习知识啊) http://download.csdn.net/detail/yy8245075/5975745

        所谓GUISkin,概括起来就是控件的衣柜,GUISkin(转自海澜之家广告)

        为了让控件看起来衣冠楚楚,首先我们需要创建一个GUISkin,在Project视图下点击create,选择GUI Skin,这样一个GUISkin就创建好了,展开Custom Style,设置size的大小为13,下面我们就一步步开始制作游戏界面。

注意:这里只以OPPION选项为例,完整的代码我会在最后上传

一、新建C#脚本

[csharp] view plain copy print ?
  1. <P>using UnityEngine;  
  2. using System.Collections;</P><P>public class Voice : MonoBehaviour {  
  3.     public GUISkin mySkin;//皮肤管理器      
  4.     public enum Menu { start = 1, option, help, quit };//枚举各个按钮      
  5.     public bool fullScreen_bool;//全屏选项      
  6.     public float BGMslider_float;//背景音乐      
  7.     public float SoundSlider_float;//音效音乐   </P><P>    public Texture tex;//背景图片      
  8.     public Texture tex_t;//点击设置选项时挡在背景图片前的黑色底板      
  9.     public Texture tex_nandu;//点击开始时难度选择的底板      
  10.     public Texture[] tex_help;//点击帮助时的图片      
  11.     public int select_T = 0;//标志菜单选择项   </P><P>    public Menu start_t;   
  12.     public Menu option_t;  
  13.     public Menu help_t;  
  14.     public Menu quit_t;  
  15.     public int count;//标志帮助图片当前的张数      
  16.     public bool helpContinue;//帮助菜单是否点击继续按钮   </P><P> // Use this for initialization   
  17.  void Start ()  
  18.     {  
  19.         start_t = Menu.start;  
  20.         option_t = Menu.option;  
  21.         help_t = Menu.help;  
  22.         quit_t = Menu.quit;  
  23.  }  
  24.    
  25.  // Update is called once per frame   
  26.  void Update () {  
  27.    
  28.  }  
  29.    
  30.  void OnGUI()  
  31.  {  
  32.         GUI.skin = mySkin;</P><P>    //绘制背景图片   
  33.         GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), tex);</P><P>    //绘制整个菜单选项   
  34.         if (select_T == 0)  
  35.         {  
  36.             //开始   
  37.             if(GUI.Button(new Rect(402.0f / 1024.0f * Screen.width, 377.0f / 768.0f * Screen.height, 267, 56), """start"))  
  38.             {  
  39.                 select_T = 1;  
  40.             }  
  41.             //设置   
  42.             if(GUI.Button(new Rect(402.0f / 1024.0f * Screen.width, 459.0f / 768.0f * Screen.height, 267, 56),"","option"))  
  43.             {  
  44.                 select_T = 2;  
  45.             }  
  46.             //帮助   
  47.             if(GUI.Button(new Rect(402.0f / 1024.0f * Screen.width, 550.0f / 768.0f * Screen.height, 267, 56),"","help"))  
  48.             {  
  49.                 select_T = 3;  
  50.             }  
  51.             //退出   
  52.             if (GUI.Button(new Rect(402.0f / 1024.0f * Screen.width, 638.0f / 768.0f * Screen.height, 267, 56), """quit"))  
  53.             {  
  54.                 select_T = 4;  
  55.             }  
  56.         }  
  57. </P><P>        if (select_T == option_t.GetHashCode())  
  58.         {  
  59.             GUI.DrawTexture(new Rect((Screen.width - 496) / 2.0f, 20.0f / 768.0f * Screen.height, 496, 651), tex_t);  
  60.             fullScreen_bool = GUI.Toggle(new Rect(510, 450, 39, 38), fullScreen_bool, """FullScreen");  
  61.             BGMslider_float = GUI.HorizontalSlider(new Rect(380, 180, 291, 33), BGMslider_float, 0, 1, "huadongtiao""huakuai");  
  62.             SoundSlider_float = GUI.HorizontalSlider(new Rect(380, 330, 291, 33), SoundSlider_float, 0, 1, "huadongtiao""huakuai");  
  63.             if (GUI.Button(new Rect((Screen.width - 267) / 2.0f, 660.0f / 768.0f * Screen.height, 267, 56), """back"))  
  64.             {  
  65.                 select_T = 0;  
  66.             }  
  67.         }  
  68.  }  
  69. }  
  70. </P>  

 

二、将脚本拖到猪摄像机,为各项公有参数赋值

我和我的小伙伴们一起学Unity3D(三)GUISkin 界面皮肤_第1张图片

三、制作GUISkin

我和我的小伙伴们一起学Unity3D(三)GUISkin 界面皮肤_第2张图片

这里需要说明的是

1、name的指必须与GUI的GUIStyle参数一致!

2、Nomal属性即按钮平常的状态,Hover就是鼠标放上去的样子,剩下的参数大家可以根据需要去查文档或者问我

完整项目:http://download.csdn.net/detail/yy8245075/5984695

你可能感兴趣的:(图片,select,unity3d,音乐,menu)