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;
}
}
}
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;
}
}
}
相关文章推荐
- Unity 简单游戏编程(1) 开始界面设计
- J2ME 拼图游戏 快速开发 全过程 (二)——游戏开始界面设计
- 【Unity3D】从今天开始做UnityProgrammer!(二)简单熟悉Unity3DEditor的界面
- quick cocos2d-x 实战:做一个手机横版格斗游戏2:游戏开始界面设计
- iOS 简单的猜颜色游戏 界面设计的比较简单 - -
- 【贪吃蛇,C++实现】,由简单游戏开始学习OOP,的编程新手
- 【unity】【设计模式】【游戏设计】从公会火堆功能讲简单的功能划分
- 简单的游戏界面设计
- 回归游戏的世界,简单图形编程学习的开始
- 简单的C++游戏载入界面设计
- 【游戏设计模式】之三 状态模式、有限状态机 & Unity版本实现
- Unity中游戏暂停和开始怎么实现?
- 设计简单登录界面(Java web)
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第一步--- 开始界面
- 【Android】实验5 数独游戏界面设计-报告提交时间:2016.4.15
- 向量几何在游戏编程中的使用【1】-简单的2-D追踪
- html网页设计简单登陆界面
- 简单游戏设计
- Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏
- Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍