Unity3D笔记 愤怒的小鸟<三> 实现Play界面2

  前言:在Play页面中给Play页面添加一个“开始游戏”和“退出游戏”按钮顺便再来一个背景音乐

  添加按钮可以是GUI.Button(),也可以是GUILayout.Button();给图片添加按钮可以用到GUISkin()也可以是GUIStyle(),这些有点和WebForm中开发用到的CSS样式相似,GUIStyle组成了GUISkin。

  大致方法如下:

  1、Assets-右键新建一个GUI Skin

  2、自定义两个按钮:游戏开始按钮和回到游戏主页按钮

  3、具体设置就是放入按钮图片,仔细看看和WebForm中的样式是不是很有一家的感觉

  4、代码

#pragma strict


var mySkin:GUISkin;//GUISkin

var quitButton:Texture2D;//退出界面

var okButton:Texture2D;

var closeButton:Texture2D;

var closeButtonPosition:Rect=new Rect(21, 112, 115, 88);//回到主页中的关闭按钮

var okButtonPosition:Rect=new Rect(260, 116, 115, 115);//回到主页中的确定按钮

private var myWindow:Rect=new Rect(400-250,300-60,431,215);

private var showWindow:boolean=false;

private var isQuit:boolean=false;


function Start () {

}

function Update () {

}

function OnGUI(){
    GUI.skin=mySkin;
    if(showWindow){//显示退出主页对话框 
        myWindow=GUI.Window(0, Rect(90, 100, 400, 200), DoMyWindow, "");  //GUI.Window(0,myWindow,DoMyWindow,"");
    }
    else{
            if(GUI.Button(Rect(Screen.width/2.0-221,Screen.height/2.0-100 ,442*0.8,283*0.8),"",GUI.skin.GetStyle("PlayButton"))){
                Application.LoadLevel(3);//下一个场景3
            }
            if(GUI.Button(Rect(Screen.width-120,Screen.height-120 ,110,110),"",GUI.skin.GetStyle("HomeButton"))){//退出
                showWindow=true;
            }
        } 
}

function DoMyWindow(windowID:int){
    GUI.DrawTexture(Rect(0,0,398,275),quitButton);
    if(GUI.Button(closeButtonPosition,closeButton))//是否退出程序:否
        showWindow=false;//不显示退出窗口
    if(GUI.Button(okButtonPosition,okButton))////是否退出程序:是
        Application.Quit();//退出程序
}

  5、注意事项 

  创建完Window后会发现鼠标只显示在Play按钮和主页按钮的后面,这时需要调整鼠标的深度,在customCusor.js中添加代码如下

  

 

  6、背景音乐

  6.1

  

  6.2

  

  7、运行效果

  

  

  画的有点丑,样式控制折腾了半天还是需要学习,另外资源文件也需要在找找。不过还好效果出来了。。。。。。

 

posted @ 2014-02-15 21:33  PEPE YU  阅读(823)  评论(0编辑  收藏  举报