前言 學(xué)習(xí)Unity開(kāi)發(fā)引擎的初學(xué)者會(huì)接觸大量的腳本類(lèi),,而這些類(lèi)之間的關(guān)系往往容易被忽略。 本文對(duì)Unity引擎開(kāi)發(fā)中的一些常用類(lèi)及其關(guān)系進(jìn)行了簡(jiǎn)單的歸納總結(jié),。
博文首發(fā)地址:http://blog.csdn.net/duzixi
Unity常用腳本類(lèi)繼承關(guān)系圖
對(duì)Unity開(kāi)發(fā)稍有了解的朋友都知道,,在Unity開(kāi)發(fā)框架中有4個(gè)基本層次:工程(應(yīng)用程序)、場(chǎng)景,、游戲?qū)ο蠛徒M件,。 在腳本中,整個(gè)應(yīng)用程序和場(chǎng)景由Application類(lèi)控制,;而游戲?qū)ο蠛徒M件類(lèi)均繼承于Object類(lèi),。 在Object類(lèi)的派生類(lèi)中,還有一些類(lèi),,他們絕大多數(shù)都屬于資源,,是構(gòu)成組件以及游戲?qū)ο蟮慕M成部分。 還有一部分常用類(lèi)并不繼承于UnityEngine中的Object類(lèi),,從功能上可以看出這些類(lèi)的主要作用是從某一方面進(jìn)行宏觀控制,。 從這個(gè)意義上說(shuō),可以把Application類(lèi)和其它有宏觀控制作用的類(lèi)歸為一類(lèi),。
這樣以來(lái)Unity中的常用腳本類(lèi)就可以簡(jiǎn)單的分成如下四大類(lèi):
一,、宏觀控制類(lèi) 主要作用是真對(duì)Unity程序中的某一方面進(jìn)行宏觀控制。 包括: Application —— 應(yīng)用程序類(lèi) Input —— 輸入類(lèi) GUI —— 圖形輸出類(lèi) Physics —— 物理引擎類(lèi) Resources —— 資源類(lèi) Time —— 時(shí)間類(lèi) 等等
二,、游戲?qū)ο螅℅ameObject)類(lèi) 由于Unity是面向組件的開(kāi)發(fā)模式(而非面向?qū)ο螅?,所以從?lèi)的繼承關(guān)系中也能看出: 對(duì)于GameObject類(lèi)沒(méi)有下太多的筆墨,而是將更多的內(nèi)容交給下面的組件類(lèi),。
三,、組件(Component)類(lèi) 腳本開(kāi)發(fā)中的組件類(lèi)往往可以和圖形界面中的檢視面板對(duì)應(yīng)起來(lái)。 每一個(gè)游戲?qū)ο蟮募?xì)節(jié)設(shè)置與操控都需要借助組件類(lèi)來(lái)完成,。 在常用組件類(lèi)中,,有兩個(gè)繼承關(guān)系需要特別提一下: (1)角色控制器(CharacterController)類(lèi)繼承于碰撞器(Collider)類(lèi) (2)有一組類(lèi)并不直接繼承于組件類(lèi),而是通過(guò)繼承Behavior類(lèi)間接的繼承,包括我們熟知的MonoBehavior類(lèi) 至于為什么會(huì)這樣設(shè)計(jì)類(lèi),,在入門(mén)篇就不深入討論了,。但是我們可以根據(jù)對(duì)這些組件類(lèi)的已有認(rèn)知先形成一個(gè)感性認(rèn)識(shí)。
四,、資源類(lèi) 對(duì)于剛?cè)腴T(mén)的初學(xué)者來(lái)說(shuō),,資源一般都是在圖形界面導(dǎo)入進(jìn)來(lái)之后直接使用。 通過(guò)腳本創(chuàng)建資源或者修改資源本身的情況不是很多,。 而個(gè)人認(rèn)為,,精通資源類(lèi)是走出初學(xué)階段很重要的一步,也是代碼開(kāi)發(fā)擺脫素材限制的一種重要手段,。
后語(yǔ) 途中用顏色標(biāo)記了 基礎(chǔ),、拓展和進(jìn)階 三個(gè)類(lèi)別。 這個(gè)是對(duì)初學(xué)者而言的,,對(duì)于有經(jīng)驗(yàn)的Unity開(kāi)發(fā)人員來(lái)說(shuō),,這些常用的類(lèi)應(yīng)該都屬于“基礎(chǔ)”。 另一方面,,每個(gè)人的學(xué)習(xí)路線不同,,階段劃分也會(huì)不一樣,僅供參考,。 |
|