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 @   PEPE YU  阅读(826)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2012-02-15 BS文件夹上传操作(二) ——基本功能实现
点击右上角即可分享
微信分享提示