一直跟着龚老师用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界面的更多相关文章

  1. Unity3D笔记 愤怒的小鸟<二> 实现Play界面

    创建Play界面.能个把各个图片组合成一个场景,场景组成后背景能够不停的滚动,当鼠标单击时显示图片手型鼠标 一.GUI Texture 1.创建背景.地面.树木.草 ,这里注意Z轴的排序,一层一层则第 ...

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

    前言:在Play页面中给Play页面添加一个“开始游戏”和“退出游戏”按钮顺便再来一个背景音乐 添加按钮可以是GUI.Button(),也可以是GUILayout.Button():给图片添加按钮可以 ...

  3. Unity3D笔记 愤怒的小鸟<一>场景切换

    新建3个场景,场景1 Start 十秒后自动切换到场景2 Splash,场景2在二秒后自动切换到场景3 Selection 一.场景一Start 二.场景2 Splash 三.场景3 Selectio ...

  4. Unity3D笔记 愤怒的小鸟<七> 小鸟群准备动画

    要实现的目标: 1.3只小鸟初始动画 2.完善代码slingShot.js 3.完善代码BirdMoving.js 1.实现3个准备动画:Unity3D内置的动画管理器 1.1.先选择GameObje ...

  5. Unity3D笔记 愤怒的小鸟<五> 小鸟动画+Unity3D如何设置断点调式

    前言:实现小鸟的动画,之前吐槽过js写U3D,就改成了C#来写,没想到遇到问题了. 实现的效果 using UnityEngine; using System.Collections; /// < ...

  6. Unity3D笔记 GUI 四、实现选项卡三

    一.代码: using UnityEngine; using System.Collections; /// <summary> /// 选项卡二 /// </summary> ...

  7. Unity3D笔记 愤怒的小鸟<六> 弹弓发射小鸟

    要实现的目标 实现个性化的鼠标 实现弹弓 选择小鸟.拉升弹弓.发射小鸟 弹弓橡皮筋 声音 1.实现个性化鼠标 效果 2.添加弹弓 建立两个材质 创建一个空GameObject 把两个shoot拖进来统 ...

  8. Unity3D笔记十四 力

    Unity中力的方式有两种:第一种为普通力,需要设定力的方向与大小:第二种为目标位置力,需要设定目标点的位置,该物体将朝向这个目标位置施加力. 1.案例 添加两个球体和一个立方体,另外还要给两个球体添 ...

  9. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

随机推荐

  1. PO页面对象模式封装

    PO的主要价值体现在对界面交互细节的封装,这样可以使测试案例可以更关注与业务而非界面细节,提高测试案例的可读性.   以传统的登陆页面为例實現PO模式,因为每个用例中都需要登陆. 其中需要使用Page ...

  2. 源码分析三(Vector与ArrayList的区别)

    前面讨论过ArrayList与LinkedList的区别,ArrayList的底层数据结构是数组Object[],而LinkedList底层维护 的是一个链表Entry,所以对于查询,肯定是Array ...

  3. Java从控制台接受输入字符

    创建一个类,在该类的主方法中创建Scanner扫描起来封装System类的in输入流,然后提示用户输入身份证号码,并输入身份证号码的位数. 代码如下: import java.util.Scanner ...

  4. Git Step by Step – (3) Git对象模型

    前面一篇文章介绍了本地仓库的一系列操作,下面我们将进一步了解Git的工作原理,介绍Git对象模型. 刚开始使用Git的时候,对Git对象模型.工作原理并不理解,但是经过一段时间的使用.熟悉之后,然后再 ...

  5. Hashtable的应用

    一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其 ...

  6. 一种新型聚类算法(Clustering by fast search and find of density peaksd)

    最近在学习论文的时候发现了在science上发表的关于新型的基于密度的聚类算法 Kmean算法有很多不足的地方,比如k值的确定,初始结点选择,而且还不能检测费球面类别的数据分布,对于第二个问题,提出了 ...

  7. ACER-4738ZG 拆机改散热

    前言 武汉真是个很热的地方,我的笔记本于2011年3月份左右购买的,到现在已经两年多了,第一个暑假,我是在苏州的空调房使用,第二个暑假,我是在实验室的空调房使用,没有直接感受到夏天对笔记本的杀伤力,今 ...

  8. linux mutex

    #include <iostream> #include <queue> #include <cstdlib> #include <unistd.h> ...

  9. SeaJS之use函数

    有了 define 等模块定义规范的实现,我们可以开发出很多模块.但光有一堆模块不管用,我们还得让它们能跑起来.在 SeaJS 里,要启动模块系统很简单: <script src=”path/t ...

  10. 三元组顺序结构实现稀疏矩阵相加,行序优先(Java语言描述)

    不用十字链表也可以稀疏矩阵相加时间复杂度最坏情况达到O(tuA + tuB);思路比较简单就不赘述了,代码如下: 三元组: package 行逻辑链接的顺序表实现稀疏矩阵的相乘; public cla ...