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

////////////////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按钮点击后会显示一个文字说明,对文字颜色的修改;;;

上个效果图

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

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

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

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

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

时间: 2024-08-28 19:06:40

unity 3D游戏开始界面GUI美化的相关文章

【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选

分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的一个让玩家轻松创建诸如虚拟现实场景再现.三维视频游戏.建筑设计可视化.实时三维动画展现等类型互动内容的多平台综合型开发工具,是一个全面整合的跨平台专业3D开发引擎. 全球超过70%的手机3D游戏都是用Unity来开发的. 1.能部署到20多个平台上 Unity类似于Director,Blender

unity 3D游戏开场画面隐退实现

//////////////2015/07/07////////// /////////////by xbw///////////////// ////////////环境 unity 4.6.1//// 今天实现了游戏欢迎界面的制作,先上效果图, 想必大家都玩过游戏,经过一个欢迎界面后会进入游戏,这就是我们今天要实现的: ..... 这个我把他新建了一个场景,可以不用新建场景,直接把代码挂载到主摄像机上,下面直接上代码吧: 用的Java语言: welcome代码 var renderOverl

Unity 3D游戏开发引擎:最火的插件推荐

摘要:为了帮助使用Unity引擎的开发者制作更完美的游戏,我们精心挑选了十款Unity相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJoystick.UnIDE.Tile Based Map and Nav.FX Maker.Toon shader.Top-Down Assets Mobile和83 Explosion Sound Effects. 作为当前最主流的3D游戏引擎之一,Unity拥有大量第三方插件和工具帮助开发者提升

【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例

一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄像机, 让球体在摄像机拍摄的视图中显示出来; (1) 摄像机导航 摄像机旋转(Tumble) : alt + 鼠标左键, 摄像机会按照鼠标滚动的垂直中线进行旋转, 可以查看摄像机当前的状态, 注意只是改变视图中的状态, 摄像机还是在视图正中央位置, 摄像机的位置属性是不变的; 摄像机移动(Track

unity 3D游戏场景转换

//////////////////2015/07/07//////// /////////////////by xbw/////////////// ///////////////环境 unity 4.6.1// 当需要多个场景时,就用到了场景转换, 这里呢,我有两个场景,一个move(开场镜头),另一个second(游戏场景): 要想运行完开长镜头后接着运行游戏场景,需要用到一个函数::: Application.LoadLevel("second");引号里变是需要运行的场景,即

Unity 3D游戏开发Mecanim动画系统讲解

本期教程和大家分享Mecanim动画系统的重定向特性,Mecanim动画系统是Unity3D推出的全新的动画系统,具有重定向.可融合等诸多新特性,通过和美工人员的紧密合作,可以帮助程序设计人员快速地设计出角色动画.一起跟着人气博主秦元培学习吧! 博主今天想和大家分享的是Mecanim动画系统的重定向特性,众所周知,<仙剑奇侠传>是一部经典的RPG游戏,这部游戏到今天依然焕发着强大的生命力.博主在网上认识了一个制作<仙剑奇侠传>同人游戏的小团队,他们目前正在着手制作一个称为<仙

Unity 3D使用GameObject创建一个简单的可移动物体

于Unity 3D游戏的开发.游戏脚本需要3D模拟组合,该脚本将被写入阻力3D为了达到效果对象. 以下是一个小实例,使用Unity 3D实现一个可控制移动的小人.小人能够向前.向后.向左和向右移动. 1.通过 File - > New Scene 创建一个场景: 2.点击Create -> Create Empty 创建一个GameObject,它即是游戏对象: 3.在Inspector 面板里将此对象的名字改为 "hero" (记得按回车键),等一下再脚本中将通过此名字来

Unity 3D入门简介

最近在刚开始学习Unity 3D,在这里记录一下学习心得和学习笔记,边学边写,可能会比较零散.好了,废话不多说,今天从Unity 3D入门写起,主要简要介绍一下Unity 3D的和一些学习资料.以下如果不作特别说明,均是指Windows平台的Unity 3D,版本是4.5.1f3. Unity 3D是一款游戏开发引擎,目前支持2D和3D游戏的开发,其最大的优势就是跨平台性非常好,可以很容易的将PC端制作的游戏移植到Android.IOS等移动平台,当然也可以创建网页游戏.刚开始进行Unity 3

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce