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、运行效果


画的有点丑,样式控制折腾了半天还是需要学习,另外资源文件也需要在找找。不过还好效果出来了。。。。。。
Unity3D笔记 愤怒的小鸟<三> 实现Play界面2的更多相关文章
- Unity3D笔记 愤怒的小鸟<二> 实现Play界面
创建Play界面.能个把各个图片组合成一个场景,场景组成后背景能够不停的滚动,当鼠标单击时显示图片手型鼠标 一.GUI Texture 1.创建背景.地面.树木.草 ,这里注意Z轴的排序,一层一层则第 ...
- Unity3D笔记 愤怒的小鸟<四> 实现Selelction界面
一直跟着龚老师用js写,VS智能感应用习惯后发现这里用js对初学者比较蛋疼,MONO有提示但是还是无法和VS媲美就目前来看.所以这次还是换成熟悉的VS来开发. 目标:实现关卡页面 跑起来的效果如下: ...
- Unity3D笔记 愤怒的小鸟<一>场景切换
新建3个场景,场景1 Start 十秒后自动切换到场景2 Splash,场景2在二秒后自动切换到场景3 Selection 一.场景一Start 二.场景2 Splash 三.场景3 Selectio ...
- Unity3D笔记 GUI 三、实现选项卡二窗口
实现目标: 1.使用个性化Box控件 2.个性化Lable控件 3.添加纵向滚动条 4.新建SelectedItem样式 一.最终效果: 二.主要代码 using UnityEngine; using ...
- Unity3D笔记 愤怒的小鸟<七> 小鸟群准备动画
要实现的目标: 1.3只小鸟初始动画 2.完善代码slingShot.js 3.完善代码BirdMoving.js 1.实现3个准备动画:Unity3D内置的动画管理器 1.1.先选择GameObje ...
- Unity3D笔记 愤怒的小鸟<六> 弹弓发射小鸟
要实现的目标 实现个性化的鼠标 实现弹弓 选择小鸟.拉升弹弓.发射小鸟 弹弓橡皮筋 声音 1.实现个性化鼠标 效果 2.添加弹弓 建立两个材质 创建一个空GameObject 把两个shoot拖进来统 ...
- Unity3D笔记 愤怒的小鸟<五> 小鸟动画+Unity3D如何设置断点调式
前言:实现小鸟的动画,之前吐槽过js写U3D,就改成了C#来写,没想到遇到问题了. 实现的效果 using UnityEngine; using System.Collections; /// < ...
- Unity3D游戏-愤怒的小鸟游戏源码和教程(二)
Unity愤怒的小鸟游戏教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) AngryEva游戏效果 ...
- firefox 扩展开发笔记(三):高级ui交互编程
firefox 扩展开发笔记(三):高级ui交互编程 前言 前两篇链接 1:firefox 扩展开发笔记(一):jpm 使用实践以及调试 2:firefox 扩展开发笔记(二):进阶开发之移动设备模拟 ...
随机推荐
- VIM复制粘贴大全[转]
用vim这么久 了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开编辑,真的不 爽:上次论坛上有人问到了怎么在vim中使 ...
- Git项目协同开发学习笔记1:项目库开发基础git命令
这年头git基本都是项目开发的标配,之前刚好碰到了就花了两天时间系统学习了下.本文内容基本来自以下tutorial:Learn Git(建议直接去看原文,因为这个网站是有更新的).这个是我看过对git ...
- Owe Her
I owe her too much a wedding, i think i never pay her for it a life,
- ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据
ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded, 当ajax传JSON时设置的contenttype 如果是applicat ...
- LeetCode_Maximum Subarray | Maximum Product Subarray
Maximum Subarray 一.题目描写叙述 就是求一个数组的最大子序列 二.思路及代码 首先我们想到暴力破解 public class Solution { public int maxSub ...
- 8 -- 深入使用Spring -- 3...1 Resource实现类ServletContextResource
8.3.1 Resource实现类------ServletContextResource:访问相对于ServletContext路径下的资源的实现类. 4.访问应用相关资源 Spring提供了Ser ...
- 关于WPF自定义控件(导航)
1.在WPF中自定义控件(1)概述 2.在WPF中自定义控件(2) UserControl 3.在WPF中自定义控件(3) CustomControl (上) 4.在WPF中自定义控件(3) Cust ...
- MongoDB(四)-- 主从配置
一.前言 虽然MongoDB官方已经不建议使用主从模式了,但是 熟悉下 也是有用的,替代方案是采用副本集的模式.slave默认情况下是不支持读写的,但是master会把数据同步到slave,不支持客户 ...
- Ansible 实战:一键安装 LNMP
Ansible 配置文件 : [root@center /data/ansiblework]# cat ansible.cfg [defaults] remote_user = root remote ...
- Ora2Pg的安装和使用
1. 安装DBI,DBD::Oracle DBI只是个抽象层,要实现支持不同的数据库,则需要在DBI之下,编写针对不同数据库的驱动.对MySql来说,有DBD::Mysql, 而对ORACLE来说,则 ...
