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学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
随机推荐
- php5.4转5.3被替换的函数
今天服务器由于业务需求,需要换成php5.4版本,以前使用的5.3,有些函数过期,导致了许多问题 1.ereg() 使用 preg_match() 替代 int preg_match ( string ...
- CorelDRAW中如何再制对象详解
再制对象指的是快捷地将对象按一定的方式复制为多个对象,此种复制是复制的复制,再制不仅可以节省复制的时间,再制间距还可以保证复制效果.本教程将详解如何在CorelDRAW软件中再制对象. CorelDR ...
- Linux less 常用导航命令
linux中经常用less来查看文件,文件较短的时候用pgup(pageup), pgdn(pagedown),↑,↓几个键够,但是当文件比较长的时候用一些快捷键就能很方便实现快速导航. 1. 按匹配 ...
- 本地存储(LocalStorage、SessionStorage、Web SQL Database、Indexed DB)
https://www.cnblogs.com/SeeYouBug/p/6127001.html https://blog.csdn.net/inter_peng/article/details/49 ...
- 输入控件tagsinput
摘要: tagsinput是一款基于jQuery的插件.具有组织输入内容.校验.backspace删除等功能.当你在输入框输入结束按下enter键,tagsinput会将你输入的内容用标签封装,每 ...
- linux alias使用
安装一些软件 python redis mysql jdk,都需要添加环境变量,一个路径添加到了环境变量,就可以直接在linux控制台输入 xx命令. 否则不添加环境变量,使用xx就会提示找不到命令 ...
- LINQ to Entities does not recognize the method 'Int32 ToInt32(System.String)' method, and this method cannot be translated into a store expression
if (!string.IsNullOrEmpty(FarmWorkId)) { data = data.Where(p => p.TypeId == Convert.ToInt32(FarmW ...
- 8 -- 深入使用Spring -- 8... Spring整合Hibernate
8.8 Spring整合Hibernate 8.8.1 Spring提供的DAO支持 8.8.2 管理Hibernate的SessionFactory 8.8.3 实现DAO组件的基类 8.8.4 传 ...
- argc和argv
ARGc和ARGv中的ARG指的是"参数"(外语:ARGuments, argument counter 和 argument vector ) argc: 整数,用来统计你运行程 ...
- iOS Runloop的超级讲解
这是目前看过的最好的一片中文讲解RunLoop的文章,推荐给大家看一下,原文链接:http://blog.ibireme.com/2015/05/18/runloop/ https://segment ...