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组合起来跑一次

  

  

 

posted @   PEPE YU  阅读(525)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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文件夹上传操作(二) ——基本功能实现
点击右上角即可分享
微信分享提示