图3.1 游戏主界面
3.1.2 按钮功能实现
自定义的按钮样式可以由自定义的GUISkin控件来实现,按钮基本状态有三种,静止、划过和激活,每个按钮分别对应三种不同素材,实现鼠标与按钮交互的效果,这里主要使用自定义的GUISkin,在其组件中统一定义按钮类型方法,方便调用不同按钮效果的素材,使得游戏界面元素更丰富。
按钮的点击触发事件主要使用Unity提供的GUI高级控件中的点击命令来实现,即通过代码,实现从玩家处接收到按钮的点击信号,并对其处理,进行相应的操作,如跳转进入游戏场景,界面切换等。这里采用游戏状态机的机制,绘制游戏界面前需要定义游戏状态,然后通过不同的游戏状态绘制不同的界面,实现界面之间的切换。定义代码如下:
public class Menu : MonoBehaviour
{
public const int STATE_MAINMENU = 0;//定义主菜单界面
public const int STATE_STARTGAME = 1;//定义游戏关卡选择界面
public const int STATE_SECONDGAME = 2;//定义游戏第二章界面
public const int STATE_OPTION = 3;//定义游戏设置界面
public const int STATE_HELP = 4;//定义游戏帮助界面
public const int STATE_EXIT = 5;//定义游戏退出界面
public GUISkin menui;//自定义GUI皮肤
public Texture tex_BG; //游戏背景贴图
public Texture tex_start;//开始菜单贴图