Unity3D笔记 愤怒的小鸟<四> 实现Selelction界面
一直跟着龚老师用js写,VS智能感应用习惯后发现这里用js对初学者比较蛋疼,MONO有提示但是还是无法和VS媲美就目前来看。所以这次还是换成熟悉的VS来开发。
目标:实现关卡页面
跑起来的效果如下:

方法和之前添加图片一样,先创建GUITexture背景图片,再创建GUISkin 用于创建上图中7个图片按钮。手型鼠标直接把上节的customCusor.js
拿来即可,背景音乐选择Main Camera->Component->Audio->Audio Source
C#代码如下
using UnityEngine;
using System.Collections; public class selectGUI : MonoBehaviour
{
public GUISkin mySkin;
/// <summary>
/// 返回按钮
/// </summary>
private Rect backPosition = new Rect(40, 280, 50, 50);
/// <summary>
/// 按钮1
/// </summary>
private Rect level1Position = new Rect(60, 10, 100, 100);
/// <summary>
/// 按钮2
/// </summary>
private Rect level2Position = new Rect(220, 10, 100, 100);
/// <summary>
/// 按钮3
/// </summary>
private Rect level3Position = new Rect(380, 10, 100, 100);
/// <summary>
/// 按钮4
/// </summary>
private Rect level4Position = new Rect(60, 160, 100, 100);
/// <summary>
/// 按钮5
/// </summary>
private Rect level5Position = new Rect(220, 160, 100, 100);
/// <summary>
/// 按钮6
/// </summary>
private Rect level6Position = new Rect(380, 160, 100, 100);
// Use this for initialization
void Start()
{ } // Update is called once per frame
void Update()
{ } void OnGUI()
{
GUI.skin = mySkin;
if (GUI.Button(level1Position,"",GUI.skin.GetStyle("LevelButton1")))
{
Application.LoadLevel(4);
}
if (GUI.Button(level2Position, "", GUI.skin.GetStyle("LevelButton2")))
{
Application.LoadLevel(4);
}
if (GUI.Button(level3Position, "", GUI.skin.GetStyle("LevelButton3")))
{
Application.LoadLevel(4);
}
if (GUI.Button(level4Position, "", GUI.skin.GetStyle("LevelButton4")))
{
Application.LoadLevel(4);
}
if (GUI.Button(level5Position, "", GUI.skin.GetStyle("LevelButton5")))
{
Application.LoadLevel(4);
}
if (GUI.Button(level6Position, "", GUI.skin.GetStyle("LevelButton6")))
{
Application.LoadLevel(4);
}
if (GUI.Button(backPosition, "", GUI.skin.GetStyle("BackButton")))
{
Application.LoadLevel(2);
}
}
}
一点要注意在JS中var mySkin:GUISkin 表示公共的变量在C#中默认是私有变量所以要写出public GUISkin mySkin; 这点小区别注意。
成功跑起来后就可以把之前的三个场景Sences组合起来跑一次

Unity3D笔记 愤怒的小鸟<四> 实现Selelction界面的更多相关文章
- Unity3D笔记 愤怒的小鸟<二> 实现Play界面
创建Play界面.能个把各个图片组合成一个场景,场景组成后背景能够不停的滚动,当鼠标单击时显示图片手型鼠标 一.GUI Texture 1.创建背景.地面.树木.草 ,这里注意Z轴的排序,一层一层则第 ...
- Unity3D笔记 愤怒的小鸟<三> 实现Play界面2
前言:在Play页面中给Play页面添加一个“开始游戏”和“退出游戏”按钮顺便再来一个背景音乐 添加按钮可以是GUI.Button(),也可以是GUILayout.Button():给图片添加按钮可以 ...
- Unity3D笔记 愤怒的小鸟<一>场景切换
新建3个场景,场景1 Start 十秒后自动切换到场景2 Splash,场景2在二秒后自动切换到场景3 Selection 一.场景一Start 二.场景2 Splash 三.场景3 Selectio ...
- Unity3D笔记 愤怒的小鸟<七> 小鸟群准备动画
要实现的目标: 1.3只小鸟初始动画 2.完善代码slingShot.js 3.完善代码BirdMoving.js 1.实现3个准备动画:Unity3D内置的动画管理器 1.1.先选择GameObje ...
- Unity3D笔记 愤怒的小鸟<五> 小鸟动画+Unity3D如何设置断点调式
前言:实现小鸟的动画,之前吐槽过js写U3D,就改成了C#来写,没想到遇到问题了. 实现的效果 using UnityEngine; using System.Collections; /// < ...
- Unity3D笔记 GUI 四、实现选项卡三
一.代码: using UnityEngine; using System.Collections; /// <summary> /// 选项卡二 /// </summary> ...
- Unity3D笔记 愤怒的小鸟<六> 弹弓发射小鸟
要实现的目标 实现个性化的鼠标 实现弹弓 选择小鸟.拉升弹弓.发射小鸟 弹弓橡皮筋 声音 1.实现个性化鼠标 效果 2.添加弹弓 建立两个材质 创建一个空GameObject 把两个shoot拖进来统 ...
- Unity3D笔记十四 力
Unity中力的方式有两种:第一种为普通力,需要设定力的方向与大小:第二种为目标位置力,需要设定目标点的位置,该物体将朝向这个目标位置施加力. 1.案例 添加两个球体和一个立方体,另外还要给两个球体添 ...
- deepin linux学习笔记(四)进不去图形界面怎么办?
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
随机推荐
- 【python-proxy by sockets5】pysocks
pip install pysocks https://stackoverflow.com/questions/2317849/how-can-i-use-a-socks-4-5-proxy-with ...
- SSM框架快速整合实例——学生查询
一.快速准备 SSM 框架即 Spring 框架.SpringMVC 框架.MyBatis 框架,关于这几个框架的基础和入门程序,我前面已经写过几篇文章作为基础和入门介绍了.这里再简单的介绍一下: 1 ...
- Blender 移动、旋转、缩放
1.手动调整物体的属性 当我们添加了一个物体后,例如一个Torus物体. 在左侧下角部分能看到“Add Torus”面板,面板包含了Locatin.Rotation.Major Segments.Mi ...
- 【转】微信公众开发URL和token填写详解
很多人不明白微信公众号开发者中心服务器配置里面的url和token是什么,不会填写.看了教程也不理解是什么,本文详述一下这个问题. 第一步:作为一名微信公众号开发者,别人进入你的微信公众号,肯定会看见 ...
- npm 安装碰到SSL问题
经过仔细排查和google,原来是ssl 的问题: 解决办法: npm config set strict-ssl false
- python 中dir()和__dict__的区别
Python __dict__与dir() 出处(http://blog.csdn.net/lis_12/article/details/53521554). Python下一切皆对象,每个对象都有多 ...
- AcceptEx 以及 获取远程IP与port
// 獲取本地以及遠程的IP和port setsockopt(clientfd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, (char *)&listenfd ...
- backbone学习笔记:模型(Model)(2)属性验证
Backbone的属性验证有2种方法: 1.Backbone自带简单的验证方法,但是验证规则需要自己实现 通过validate()方法进行验证,验证规则写在此方法里. var RoomModel = ...
- Windows下切换盘符
方法: 直接输入盘符+引号,例如输入D:,不区分大小写. 使用cd命令,例如cd /d D: 使用cd命令有一些要注意的地方: 在同一个磁盘分区里,不需要加上\d,但是不同磁盘分区切换的时候,需要加上 ...
- Android开发--ZZ:Android APK反编译详解(附图)
最近看了很多app的界面和交互非常棒,想学习下他们的源码,简单加压apk文件得到的资源文件和源码都不可读 它们都是编译后的文件,在网上搜索了下,发现这篇blog提到的工具都非常好用~ 文章原地址:ht ...