Unity3D入門教程——遊戲開發利器UGUI的基本使用方法

2021-02-14 Imagination Tech

作者:zzlyw

前言

UGUI是Unity官方推出的新一代交互系統,與傳統的GUI相比,它具有使用靈活、界面美觀、支持個性化定製的特點。本文將會進行UGUI使用的簡單介紹,與大家一起敲開UGUI開發的大門。

說到底,UGUI還是一種UI系統,目的就是幫助用戶更好地與軟體進行交互。本文將介紹canvas、image、button等。當學會了使用button和image等控制項後,其他的也就可以舉一反三地進行自學了。

1 Canvas

Canvas是畫布的意思,通俗來講,UGUI的所有控制項如button等都要擺放在畫布上。在Hierarchy中,button、image等控制項都是Canvas的子物體。在Hierarchy中點擊Create——UI——Canvas,會生成一個畫布,同時生成一個EventSystem。

2 Button

2.1 生成個性化按鈕

在Hierarchy中點擊Create——UI——Button,會在Canvas下生成一個Button。

該Button有一個image組件和一個Button組件,改變Image組件的Source Image可以改變Button的外觀。而我們需要為其選擇一個UISprite型圖片。

假設我們在Assets目錄下已經有了一個圖片,名叫music.jpg,我們需要選中它,這時候看到Inspector中如下圖。我們需要把Texture Type類型改為Sprite(2D and UI),然後點右下方的「Apply」。

將進過類型轉換的music圖片拖動到Button控制項的Image組件的SourceImage變量上,並點擊SetNativeSize。

將Button的子物體Text置為空。

然後就可以看到遊戲中如下的按鈕了。

重新設置按鈕尺寸為width=100,height=100。

可以在Button組件中設置按鈕的顏色。如圖我們將高亮時設置為黃色,按下時設置為藍色,按鈕無效時設置為灰色。

運行效果如下圖。

2.2 為按鈕添加事件響應

創建一個腳本MusicButton.cs,並自己寫一個OnClick()函數。將腳本綁定在Button上。
using UnityEngine;
using System.Collections;

public class MusicButton : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}

public void OnClick()
{
Debug.Log("按鈕被按下了!");
}
}

點擊按鈕Button組件的OnClick區的「+」,並把已經綁定了MusicButton.cs腳本的Button對象拖動到如下圖的位置。

然後點擊NoFunction下拉按鈕,選擇MusicButton的OnClick即可。

然後運行遊戲,點擊圖標,就能在控制臺輸出中看到相應的信息。

另一種為按鈕添加事件響應的方法是僅僅使用腳本,不使用拖拽的方式。

在上面腳本的基礎上添加程序集引用

using UnityEngine.UI;

在Start()函數中添加
transform.GetComponent().onClick.AddListener(OnClick);

也可以實現同樣的效果。

3 Image

在Hierarchy視圖中,點擊Create——UI——Image,就創建了Image。它也需要一個Sprite類型的圖片。

它有一個比較重要的參數是ImageType,其中有四種,最常用的是Simple和Filled。所以,我們以Filled為例,展示image的使用效果。

上述功能非常適合做進度條、血條、時間軸等動態對象。

小結

本文詳細介紹了UGUI的Button的使用方法,並簡略說明了Image、Canvas等的基本用途,相信讀者可以舉一反三,進行後續的學習。

關於 Imagination微信號

權威發布有關Imagination公司CPU,GPU以及連接IP、無線IP最新資訊,提供有關物聯網、可穿戴、通信、汽車電子、醫療電子等應用信息,每日更新大量信息,讓你緊跟技術發展,歡迎關注!伸出小手按一下二維碼我們就是好朋友!

相關焦點

  • 年薪30W的Unity3D遊戲開發崗面試題(上)
    (骨骼動畫是由關節動畫發展而來的,如今基本都使用骨骼動畫來實現角色動畫)2.alpha blend 工作原理實際顯示顏色 = 前景顏色*Alpha/255 + 背景顏色*(255-Alpha)/2553.
  • Unity3d遊戲程序開發培訓靠譜嗎?好就業嗎?
    Unity是目前最主流的遊戲開發引擎之一,還有一個就是UE4遊戲開發引擎,但據數據顯示,全球最賺錢的1000款手機遊戲中,有30%都是使用Unity的工具開發出來的。特別是在VR設備中,90%以上的遊戲都是使用Unity引擎開發,這足以證明Unity的遊戲開發引擎更加具有統治地位。Unity的遊戲開發引擎如此受歡迎,而市場上Unity3d的遊戲程序開發者卻供不應求,這就吸引了一大批遊戲愛好者想學習Unity3d遊戲程序開發,甚至未來想轉行Unity3d遊戲程序開發。
  • unity3d遊戲引擎開發的遊戲都有哪些?
    Unity3d是目前主流的遊戲開發引擎,它提供了一個整合的編輯器、跨平臺發布、地形編輯、著色器,腳本,網絡,物理,版本控制等特性。Unity3d可以開發桌面版、web版、手機版的遊戲,是一個非常理想的三維遊戲開發平臺。
  • unity3D中的C#編程入門
    避免使用構造函數Unity3D C#腳本初始化不要放到構造函數中,而是放到Start()方法中。不要在構造函數中初始化任何變量.要用Awake或Start函數來實現.即便是在編輯模式,Unity仍會自動調用構造函數.這通常是在一個腳本編譯之後,因為需要調用腳本的構造函數來取回腳本的默認值.我們無法預計何時調用構造函數,它或許會被預置體或未激活的遊戲對象所調用
  • 【教程】暢學Arduino入門教程
    本教程的亮點就是在分析初學者認知規律的基礎上,對Arduino平臺的應用基礎知識進行系統而翔實的介紹。本課程打破了傳統的教學模式,採用模塊製作與使用的方法,分別從該模塊的應用、模塊器件介紹、模塊需用到的理論知識,硬體電路設計等相關聯的知識,巧妙地將Arduino原理與應用、硬體電路設計、C語言編程的知識點融入該模塊項目中,讓你對Arduino設計更是得心應手,了解Arduino平臺的基本知識,介紹Arduino平臺的軟、硬體相關知識,然後結合實例,實現簡單的電子小製作。
  • 好課分享u3d技術教程 unity3d實戰案例小項目 2D遊戲開發含素材源碼完整
    低價課程分享好課分享u3d技術教程 unity3d實戰案例小項目 2D遊戲開發含素材源碼完整高清完整
  • 暢學Arduino入門教程
    本課程打破了傳統的教學模式,採用模塊製作與使用的方法,分別從該模塊的應用、模塊器件介紹、模塊需用到的理論知識,硬體電路設計等相關聯的知識,巧妙地將Arduino原理與應用、硬體電路設計、C語言編程的知識點融入該模塊項目中,讓你對Arduino設計更是得心應手,了解Arduino平臺的基本知識,介紹Arduino平臺的軟、硬體相關知識,然後結合實例,實現簡單的電子小製作。
  • 【U3D】Unity3D的腳本-script入門
    Unity3D的基本操作很容易就能掌握了,接下來就是遊戲系統的核心部分:腳本。
  • 荒島求生遊戲崩潰官方解決方法翻譯 荒島求生遊戲崩潰怎麼解決
    荒島求生中遊戲玩家在進行遊戲的時候遇到了遊戲崩潰的問題。對於這個問題官方也給出了解決方法。下面就給大家帶來荒島求生遊戲崩潰官方解決方法,希望能幫到大家。荒島求生遊戲崩潰官方解決方法翻譯  嗨,大家好  大家如果在加載存檔或者加載新世界(創建新存檔)的時候等等情況導致遊戲崩潰,  (如果你購買了正版深海擱淺遊戲),可以在進入遊戲前選擇DirectX 9.0模式或DirectX
  • 【教程】html+css零基礎入門教程(十)
    如p{vertical-align:text-bottom;}9) length使用 "line-height" 屬性的百分比值來排列此元素。允許使用負值。該屬性指定了塊的基本書寫方向,以及針對 Unicode 雙向算法的嵌入和覆蓋方向。不支持雙向文本的用戶代理可以忽略這個屬性。direction屬性有3種值:1) ltr默認。文本方向從左到右。
  • 【教程】html+css零基礎入門教程之CSS邊框
    注意:如果要使用第二種方法,必須把單邊屬性放在簡寫屬性之後。為邊框指定寬度有兩種方法:可以指定長度值,比如 2px 或 0.1em;或者使用 3 個關鍵字之一,它們分別是 thin 、medium(默認值) 和 thick。
  • Fusion360入門教程合集
    前面我們已經學習過了Fusion360一系列的入門教程。為了大家的查閱,今天就把前面的八節入門教程集中地發了一遍。大家可以點擊下面的連接可以查閱。    本節課通過建模一個機械零部件來學習一下Fusion360的建模方法以及軟體的操作。Fusion360入門教程(2)參數化建模
  • IF函數的使用方法(入門+進階+高級)
    IF函數是工作中最常用的函數之一,所以今天決定用一篇文章把IF函數的使用方法再梳理一番。看過你會不由感嘆:原來IF函數也可以玩的這麼高深!!一、IF函數的使用方法(入門級)1、單條件判斷返回值=IF(A1>20,"完成任務","未完成")2、多重條件判斷=IF(A1="101","現金",IF(A1="1121","應收票據",IF(A1=1403,"原材料")))註:多條件判斷時,注意括號的位置,右括號都在最後,
  • c語言入門教程
    4.c語言入門教程--基礎知識  數據類型----C的數據類型包括:整型、字符型、實型或浮點型、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。  關鍵字----又稱為保留字,就是已被C語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變量名、函數名等標識符。
  • 【入門教程】使用LaTeX撰寫你的實驗報告
    照著這篇入門教程用LaTeX撰寫一篇實驗報告不會用到它的所有功能,但能讓你體會到它的強大之處。預計學習時間50min以內,文末還有幾個版本的教程供參考。LaTeX的強大之處非常擅長排版數學公式,包括自動添加序號和文本內引用。(通過鍵入一些指令)來調整圖片和表格的位置,不需要再用滑鼠拖拉,費力不討好。
  • 『Kali Linux 入門教程』永久免費學習
    首先是和安全牛合作推出的《Kali Linux 滲透測試》,這是一門系統講授滲透測試和Kali Linux使用方法的課程;第二門《Kali Linux 工具大全》是由我自己推出的,目標是詳細介紹Kali Linux中所有600+個安全工具的實戰用法,目前還在陸續更新中.
  • MySQL 入門教程
    前端開發工程師為什麼寫這個入門教程呢?最近項目強迫我這個前端老司機使用 MySQL,雖然我在項目中已經使用過一段時間,為了寫出高質量的 SQL 語句,能快速定位解決資料庫引發的問題,系統的過一遍基礎,你也可以當做是我的筆記。有幸也認識一些 MySQL 的 DBA,這讓我學習起來比較快,能快速入門,進入實戰開發階段。
  • WPS教程:excel新手入門VBA功能使用介紹
    Excel教學:今天和大家分享一下excel中vba的使用方法入門,相信很多使用該軟體的朋友們對此都很感興趣,下面就和大家來分享一下,希望可以幫助到大家。工具/原料電腦:組裝臺式機系統:windows 10專業版版本:WPS Office 2019 PC版方法/步驟1.首先,我要知道商品的單價是12.5,在D1單元格輸入【商品單價】,在D2單元格輸入12.52.接著我們打開vb界面,在常用工具欄上執行:開發工具--visual basic。