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组合起来跑一次
作者:PEPE
出处:http://pepe.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类:
Unity3D
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 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文件夹上传操作(二) ——基本功能实现