您的位置:首页 > 移动开发 > Unity3D

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

2018-01-09 09:44 441 查看
转自:http://blog.csdn.net/qqmcy/article/details/9330405

using UnityEngine;  

using System.Collections;  

  

public class Script_10_01 : MonoBehaviour   

{  

      

    //游戏界面状态机  

      

    //主菜单界面  

    public const int STATE_MAINMENU = 0;  

    //开始游戏界面  

    public const int STATE_STARTGAME = 1;  

    //游戏设置界面  

    public const int STATE_OPTION = 2;  

    //游戏帮助界面  

    public const int STATE_HELP = 3;  

    //游戏退出界面  

    public const int STATE_EXIT = 4;  

      

    //GUI皮肤  

    public GUISkin mySkin;  

      

    //游戏背景贴图  

    public Texture textureBG;   

    //开始菜单截图  

    public Texture tex_startInfo;  

    //帮助菜单贴图  

    public Texture tex_helpInfo;  

      

    //游戏音乐资源  

    public AudioSource music;    

    //当前游戏状态  

    private int gameState;  

      

    void Start ()  

    {  

        //初始化游戏状态为:主菜单界面  

        gameState = STATE_MAINMENU;  

    }  

      

    void OnGUI()  

    {  

      

        switch(gameState)  

        {  

            case STATE_MAINMENU:  

                //绘制主菜单界面  

                RenderMainMenu();  

            break;  

            case STATE_STARTGAME:  

                //绘制游戏开始界面  

                RenderStart();  

            break;  

            case STATE_OPTION:  

                //绘制游戏设置界面  

                RenderOption();  

            break;  

            case STATE_HELP:  

                //绘制游戏帮助界面  

                RenderHelp();  

            break;  

            case STATE_EXIT:  

                //绘制游戏退出界面  

                //目前直接关闭退出游戏  

            break;  

        }  

          

  

    }  

    //绘制主菜单界面  

    void RenderMainMenu()  

    {  

        //设置界面皮肤  

        GUI.skin = mySkin;  

        //绘制游戏背景图  

        GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),textureBG);  

        //开始游戏按钮  

        if(GUI.Button(new Rect (0,30,623,153),"","start"))  

        {  

            //进入开始游戏状态  

            //目前由于是测试阶段  

            //后期会在这里重新载入新的游戏场景  

            gameState = STATE_STARTGAME;  

        }  

        //游戏设置按钮  

        if(GUI.Button(new Rect (0,180,623,153),"","option"))  

        {  

            //进入开始游戏状态  

            gameState = STATE_OPTION;  

        }  

        //游戏帮助按钮  

        if(GUI.Button(new Rect (0,320,623,153),"","help"))  

        {  

            //进入游戏帮助状态  

            gameState = STATE_HELP;  

        }  

        //游戏退出按钮  

        if(GUI.Button(new Rect (0,470,623,153),"","exit"))  

        {  

            //退出游戏  

            Application.Quit();  

        }  

    }  

    //绘制游戏开始界面  

    void RenderStart()  

    {  

        GUI.skin = mySkin;  

        GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),tex_startInfo);  

        //绘制返回按钮  

        if(GUI.Button(new Rect (0,500,403,78),"","back"))  

        {  

            //返回游戏主菜单  

            gameState = STATE_MAINMENU;  

        }  

    }  

    //绘制游戏帮助界面  

    void RenderHelp()  

    {  

        GUI.skin = mySkin;  

        GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),tex_helpInfo);  

        if(GUI.Button(new Rect (0,500,403,78),"","back"))  

        {  

            gameState = STATE_MAINMENU;  

        }  

    }  

    //绘制游戏设置界面  

    void RenderOption()  

    {  

        GUI.skin = mySkin;  

        GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),textureBG);  

          

        //开启音乐按钮  

        if(GUI.Button(new Rect (0,0,403,75),"","music_on"))  

        {  

            if (!music.isPlaying)  

            {    

                //播放音乐  

                music.Play();    

            }    

  

        }  

        //关闭音乐按钮  

        if(GUI.Button(new Rect (0,200,403,75),"","music_off"))  

        {  

            //关闭音乐  

            music.Stop();  

        }  

        //返回按钮  

        if(GUI.Button(new Rect (0,500,403,78),"","back"))  

        {  

            //返回游戏主菜单  

            gameState = STATE_MAINMENU;  

        }  

    }  

}  



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: