unity 3D游戏开始界面GUI美化

原创 2015年07月07日 23:29:47

////////////////2015/07/07////////////

///////////////by xbw///////////////////

//////////////环境 unity 4.6.1//////


先上效果图

是不是很可爱,萌萌哒;;;

话不多说,首先创建一个场景,,,

图片中的天空场景加了天空盒,,,说一下怎么添加天空盒吧,我不喜欢给主摄像机添加天空盒,不过这种方法也说一下,点击主摄像机,在inspector属性栏中添加成分,skybox,然后找到天空盒的素材,将他赋给天空盒就好了,

不过,这种方式不能预览到,只能在运行时才能看到,是不是很不爽啊,,

那就看另一种方法吧,,在edit中找到render setting 打开,在inspector中找到skybox material,将天空和素材托给他就好了,立马就会显示在场景中了;是不是很好玩啊;


我们继续;;;

首先,找到菜单栏中的GameObject--Create Empty,创建一个空物体,我们把它命名为Menu2;

下面不废话了,直接上代码了;自己调整属性就好了,用的Csharp脚本

using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class MainMenuGUI : MonoBehaviour {

    public AudioClip beep;
    public GUISkin menuSkin;
    public Rect menuArea;
    public Rect playButton;
    public Rect instructionsButton;
    public Rect quitButton;
    public Rect instructions;
    Rect menuAreaNormalized;
    string menuPage = "main";
	// Use this for initialization
	void Start () {

        menuAreaNormalized =
            new Rect(menuArea.x * Screen.width - (menuArea.width * 0.5f), menuArea.y * Screen.height - (menuArea.height * 0.5f), menuArea.width, menuArea.height);
	}
    void OnGUI()
    {
        GUI.skin = menuSkin;
        GUI.BeginGroup(menuAreaNormalized);
        if (menuPage == "main")
        {
            if (GUI.Button(new Rect(playButton), "play"))
            {
                StartCoroutine("ButtonAction", "second");
                //Application.LoadLevel("second");
            }
            if (GUI.Button(new Rect(instructionsButton), "Instructions"))
            {
                audio.PlayOneShot(beep);
                menuPage = "instructions";

            }
            if (GUI.Button(new Rect(quitButton), "Quit"))
            {
                StartCoroutine("ButtonAction", "quit");
            }
        }
        else if(menuPage=="instructions")
        {
            GUI.Label(new Rect(instructions), "You awake on a mysterious island...Find a way to signal for help or face certain doom!");
            if(GUI.Button(new Rect(quitButton),"Back"))
            {
                audio.PlayOneShot(beep);
                menuPage = "main";
            }
        }
        GUI.EndGroup();
    }
    IEnumerator ButtonAction(string levelName)
    {
        audio.PlayOneShot(beep);
        yield return new WaitForSeconds(0.35f);
        
        if(levelName!="quit")
        {
            Application.LoadLevel(levelName);
        }
        else
        {
            Application.Quit();
            Debug.Log("Have Quit");
        }
    }
	// Update is called once per frame
	void Update () {
	
	}
}



将此代码挂载给Menu2这个空物体;;;;

按着这些属性调整,,,

其中 代码中的Beep是声音文件,就是点一下按钮会发出相应的声音,,,

Menu Skin这个是菜单属性,GUI菜单皮肤,如果不加他,菜单是unity自带的初始状态,比较丑陋,不用我说,,,

使用了Menu Skin后,就会像本文最开始的那张图片的按钮,形状跟颜色都有了很大的变化;;;

下面介绍一下详细过程;;;

在工程面板中创建一个GUI skin 就是GUI皮肤,起到美化的作用;;;重命名为Main Menu


我修改了一下字体,这个只需要把字体资源拖进去就好了;

还修改了Button中的一些,详细说一下;

这个Normal就是不操作的按钮样子,这个背景贴图把图片资源拖动过去就好了,,至于这个Text Color就是无操作的颜色;

这个Hover就是鼠标悬停在按钮时的显示,这个贴图和颜色都有相应的变化,

这个Active就是鼠标点击下去的反应的响应变化,

还修改了Font Size 字体的大小;;;


这个是instructions按钮点击后会显示一个文字说明,对文字颜色的修改;;;

上个效果图

是不是很可爱呢,跟着操作一下吧,希望大家互相学习交流,午夜十二点写的呢,

希望大家多留言,我会及时给予回复。

至于素材资源,我会给需要的同学发到邮箱去;;;

不早了,我要稍微消遣一下喽。。。。。。晚安!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

玲珑杯Unity开发心得——开始菜单GUI制作

///////////////2015/08/04////////////// //////////////by xbw///////////////////// /////////////环境 ...
  • xbw12138
  • xbw12138
  • 2015年08月04日 13:05
  • 22317

Unity_2D游戏实例从零讲起(3)——基本菜单UI的实现

Unity3D_2D游戏实例从零讲起(3)——基本菜单UI的实现   游戏除了基本的画面渲染,操作对象等等,还需要各种UI菜单来辅助玩家,或是引导,或是做游戏设置。比如,登录菜单,图片的显示,人物血条...

【Unity3D】公告栏与开始界面的布置

开始界面是一个游戏最常见的元素,作品或大或少都会有这些东西。下面里面4.6之后Unity3D自带的UGUI,实现一个公告栏和开始界面,以此说明Unity3D中是怎么布置游戏UI的。如下图所示,开始游戏...

Unity3D学习 愤怒的小鸟之Logo界面(一)

接下来的几周内,我准备把对如何用Unity3D制作愤怒的小鸟的研究过程记录下来,希望能完成愤怒的小鸟游戏的大部分功能。 好记性不如烂笔头,开始吧! 目标:制作开头loading时的...

【Unity3D】从今天开始做UnityProgrammer!(二)简单熟悉Unity3DEditor的界面

【Unity3D】从今天开始做UnityProgrammer!(二)简单熟悉Unity3DEditor的界面

Unity 简单游戏编程(1) 开始界面设计

using UnityEngine; using System.Collections; public class Script_10_01 : MonoBehaviour { //游戏界面...
  • qqMCY
  • qqMCY
  • 2013年07月15日 11:49
  • 3825

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Unity中游戏暂停和开始怎么实现?

(1)Time.timeScale = 0 可以暂停游戏,Time.timeScale = 1 恢复正常,但这是作用于整个游戏的设置,不单单是当前场景,记得在需要的时候重置回Time.timeScal...

【雷电】源码分析(一)-- 进入游戏开始界面

转载请注明出处: 进入游戏开始界面效果图: 源码分析: StartMenu场景--进入游戏开始界面 初始化场景,包括初始Android按键,添加背景图片,添加logo图片,创建游戏菜单开始/设置/...

【Unity3D入门教程】Unity3D界面介绍及游戏对象基本操作

本文介绍了Unity3D界面及游戏对象基本操作。
  • zzlyw
  • zzlyw
  • 2017年01月06日 17:16
  • 5526
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:unity 3D游戏开始界面GUI美化
举报原因:
原因补充:

(最多只允许输入30个字)