C語言中文網 目錄

Unity 3D UGUI實例演示

在前面的幾節我們從整體上對圖形用戶界面下的各個控件進行詳細講解,使我們對新版的圖形用戶界面 UGUI 有了更深的了解,新版的 UGUI 系統比 OnGUI 系統相比有了很大提升,使用起來方便,控件更加美觀,接下來我們使用 UGUI 控件開發一個完整的游戲界面。

實踐案例:游戲界面開發

案例構思

Unity 3D 新增的圖形用戶界面系統 UGUI 與舊版的 GUI 系統相比更加人性化,而且是一個開源的系統。本案例旨在利用 UGUI 控件開發完整的游戲界面。

案例設計

本案例基于 UGUI 技術實現一套完整的游戲界面,其中包括界面背景、文字標題、進入按鈕、設置頁面等內容,效果如下圖所示。

UGUI 界面

案例實施

步驟 1):導入 Menu and Fonts 資源包,這個包包含背景圖片、按鈕、圖標或者其他的游戲元素,如下圖所示。

資源導入圖

步驟 2):在菜單中執行 GameObject→UI→Image 命令,在場景中添加一個 Image,用來顯示 Sprite texture,它繼承 Canvas。同時加載 EventSystem 負責處理場景中的輸入、映射和事件。

步驟 3):在項目瀏覽器中打開 Menu 文件,找到 menu_background 圖片,把它拖到 Source Image 區域中,并調整合適大小,屬性面板和添加效果如下圖所示

image屬性面板設置

image背景圖

步驟 4):按照同樣的方法在 Menu 文件中搜索 header_label 圖片,然后在菜單中執行 GameObject→UI→Image 命令,將 header_label 拖到 Source Image 區域中,并調整合適大小,如下圖所示。

Header_label圖

步驟 5):在菜單中執行 GameObject→UI→Button 命令,在場景中加入一個按鈕,然后選中嵌入的 Text 元素,設置文本為 Start Game,并設定字體樣式以及字體大小,如下圖所示。

text屬性面板

步驟 6):選中 Button,在 Inspector 面板中找到 Source Image,并賦予圖片,效果如下圖所示。

button效果

步驟 7):創建腳本 NewBehaviourScript,編寫代碼如下:
using UnityEngine;
using System.Collections;
public class NewBehaviourScript:MonoBehaviour{
    public void StartGame(){
        Application.LoadLevel("RocketMouse");
    }
}
步驟 8):腳本鏈接。創建空物體,將腳本鏈接到空物體上,然后在 Hierarchy 視圖中選擇創建好的按鈕,向下滑到 On Click 列表中,單擊加號,接下來拖動 Hierarchy 視圖中的空物體,把它添加到 Inspector 列表中,在下拉框中把它的功能設置為 No Function,最后在打開的菜單中選擇 UIManagerScript\StartGame(),如下圖所示。

腳本鏈接圖

步驟 9):創建一個新的 Button 控件,并將齒輪圖片賦予它,如下圖所示。

齒輪按鈕效果圖片

步驟 10):新建 C# 腳本,將其命名為 setting,編寫代碼,并鏈接到空物體上,代碼如下:
using UnityEngine;
using System.Collections;
public class setting:MonoBehaviour{
    public GameObject panel;
    private bool isclick=false;
    void playRenwu(bool isnotclick){
        panel.gameObject.SetActive(isnotclick);
    }
    public void Onclickbutton(){
        if(isclick==false){
            isclick=true;
            playRenwu(true);
        }else{
            isclick=false;
            playRenwu(false);
        }
    }
}
步驟 11):在菜單中執行 GameObject→UI→Panel 命令,賦予背景圖片,并在其上添加 Button 控件,效果如下圖所示。

button添加效果

步驟 12):將創建好的 panel 賦予 setting 腳本,如下圖所示。

屬性面板

步驟 13):修改 NewBehaviourScript 腳本。
using UnityEngine;
using System.Collections;
public class NewBehaviourScript:MonoBehaviour{
    public void StartGame(){
        Application.LoadLevel("RocketMouse");
    }
    public void Back(){
        Application.LoadLevel("menu");
    }
}
步驟 14):隱藏 panel,然后設置 panel 下的 button 腳本鏈接,將 Back 界面跳轉函數賦予 Button,實現界面跳轉功能。

步驟 15):保存場景,并執行 build 命令發布,最終測試效果如下圖所示。

測試效果1
 
測試效果2

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo