激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

unity3d/2d手機游戲開發(fā)(Unity2D 開發(fā) + UGUI 系列教程(一))

發(fā)布時間:2023-11-27 07:28:38 瀏覽量:148次

?Unity2D 開發(fā) + UGUI 系列教程(一)

unity3d/2d手機游戲開發(fā)(Unity2D 開發(fā) + UGUI 系列教程(一))

文/狂野之心

因為Unity5免費策略推出,2D功能也大大增強,于是轉(zhuǎn)投Unity。在朋友鼓勵下,推出Unity教程,希望能幫助那些想提高2D游戲開發(fā)效率的朋友們。需要注意的是,此系列教程都會使用5.2.0版本(目前最新5.2.2)進行開發(fā)。

那么我們就開始吧!我會做一些很常見的比較簡單的小游戲,幫助大家從零開始,首先來做一個跑酷小游戲。

初識Unity2D

創(chuàng)建新項目,名稱我用的是JustRun。一定注意,項目類型有3D和2D之分,選擇2D即可。點擊創(chuàng)建,就進入了Unity主界面。

這四個面板是最常用的,我只進行大致的解釋,后面用得多了,大家自然會慢慢理解。面板1是游戲?qū)ο箨P系面板,直觀地表示各個游戲?qū)ο笾g的父子關系。面板2是屬性面板,用來展示所選對象的各個組件和屬性。面板3是場景編輯器,大量的場景編輯都需要在里面完成。面板4是工程面板,用來查看所有的資源和腳本。當然,如果大家的面板結(jié)構(gòu)和我不一樣,可以自行對照,也可以拖拽標簽欄移動各個面板到合適的位置。

我們都知道,很多游戲引擎或者說框架,都是純代碼來開發(fā),游戲長什么樣,都是運行起來才知道。Unity是所見即所得開發(fā),是我個人偏愛的一種開發(fā)形式,非常的直觀。

光說不練假把式,在電腦里隨便找一張圖片,比如我這張。

把圖片從文件夾里拖拽到工程面板,注意要在Assets文件夾中哦~然后拖拽到左側(cè)的關系面板。這時,屏幕正中央就會出現(xiàn)一只小萌物了。點擊編輯器頂欄的播放按鈕,游戲就會執(zhí)行起來了,再次點擊退出播放模式(細心的朋友會發(fā)現(xiàn),進入播放模式,Scene選項卡會切換到Game選項卡)。

添加地面

Command+s或者Ctrl+s,我們保存當前場景到Assets文件夾中,起名為Main。

由于目前我還不知道如何在Unity中創(chuàng)建二維形狀,所以你們只能用PS做一個純色地面了,而我要再次使用一個酷炫的素材,哈哈哈哈。

老套路,將素材添加到場景中,等等!主角被擋住了?

我們在關系面板中,選中地面,然后看屬性面板,Transform面板是一個游戲?qū)ο蟮母鞣N體位(你沒看錯……)屬性,可以設置三個維度的坐標、角度和縮放。經(jīng)過我的火眼金睛觀察,設置地面的Position里的Y值為-1.3剛剛好。

第一個腳本

那么該讓主角動起來了,It's time to go! 這一切必須借助腳本來完成,不過很可惜第一個腳本不是Helloworld。我先談談腳本語言的選擇:作為一個曾經(jīng)的JS程序員,我很慶幸自己選擇了C#進行開發(fā),雖然我當時對C#一無所知。根據(jù)我自己的使用經(jīng)驗,JS是一種弱類型語言,游戲客戶端開發(fā)需要大量使用字典、數(shù)組、鏈表等等,明確知道一個鏈表里存的是什么鬼,非常的必要。如今我C#也使用的很嫻熟了,我都不敢想象如果選擇了JS現(xiàn)在的處境會怎么樣,代碼復雜度高了以后,JS非常的難以維護。

在Project面板中,右鍵Create,選C# Script,命名為ScrollGround。這個腳本我們掛在地面對象上,讓地面向后滾,這樣主角就被迫向前跑了,哈哈哈哈。

unity3d/2d手機游戲開發(fā)(Unity2D 開發(fā) + UGUI 系列教程(一))

雙擊腳本,你將打開一個MonoDevelop編輯器,public class后面的類名如果不是ScrollGround,就改成這個名字?;氐経nity編輯器,將腳本拖拽到地面對象的屬性面板,如圖:

然后我們回到MonoDevelop編輯器,這里是用來編寫腳本的地方。這個腳本將決定地面對象的一切行為,全權(quán)控制。Start函數(shù)是這個對象第一次出現(xiàn)在場景中時會調(diào)用的函數(shù),做一些初始化功能,Update函數(shù)每一幀都會執(zhí)行一次,英文注釋里都有解釋,MonoBehavior是Unity的游戲?qū)ο蠡A類,繼承這個才可以用這些函數(shù)。

第一行代碼

我們來一點點嘗試腳本的編寫吧,即使不會C#也沒關系,對著教程,自己多練習,慢慢就會熟悉的。

Update函數(shù)中,加入下面這一行代碼:

transform.position -= new Vector3(Time.deltaTime, 0, 0);

我一點點來解釋:transform對應的是(掛載該腳本的游戲?qū)ο蟮模傩悦姘謇锏腡ransform欄,所以在腳本中修改position就相當于在面板里修改position。后面的這個是一個三維數(shù)組對象,Time.deltaTime是上一幀到這一幀的間隔時間,非常小的一個數(shù)值。在坐標值里減去一個很小的x軸位移,那么這個對象會每一幀向左移動一點點?;氐経nity,播放一下游戲,果然如此!大人真乃神人也!

光滾動還不夠,地面好像有點短。沒關系,我們進入Unity編輯器,從project面板中再拖拽一個地面對象到關系面板中,并設置其x坐標,掛載ScrollGround腳本,最終如下:

這時執(zhí)行游戲,就會發(fā)現(xiàn)地面變長了。但是跑著跑著,還是不夠用,怎么辦呢?我們?nèi)ツ_本里重置一下前一塊地皮就可以了。

進入MonoDevelop,在剛才的那一行代碼下面添加下列代碼:

if(transform.position.x 

這里的11.36是剛才我們在編輯器中看到的那個橫坐標數(shù)值,當?shù)孛嬉苿拥阶髠?cè)這個距離的時候,將其位置重置到最右側(cè),這樣就可以無限循環(huán)了。C#中所有的浮點數(shù),都必須帶上f后綴?,F(xiàn)在我們?nèi)鼍爸胁シ乓幌拢m然還有點瑕疵,但是基本實現(xiàn)了功能了。大家可以通過調(diào)整地面長度或者增加第三塊地面,來使效果更加完美,我這里就不贅述了。

第一個動畫

回到Unity編輯器,現(xiàn)在我們先導入另外幾張圖片,然后選中所有的素材,一共是6張跑步動畫幀,拖拽到關系面板中主角對象身上,然后主角對象上就創(chuàng)建出了一個Animator組件。如圖:

這個組件也會放在素材所在的文件夾里,看project面板中會多出一個帶播放按鈕的對象和一個流程圖一樣的對象。左邊的是剛才形成的動畫片段,右邊的是主角對象的動畫控制器。動畫分為動畫片段和控制器兩部分,片段掛在控制器中,由控制器決定播放哪一段,這兩部分是分開的。如果操作無誤,下面播放游戲,就能看到主角跑起來啦~!哦妹子英!還是很簡單的吧。

下一步我會繼續(xù)教大家如何做出跳躍的效果。敬請期待!

unity3d/2d手機游戲開發(fā)(Unity2D 開發(fā) + UGUI 系列教程(一))

熱門課程推薦

熱門資訊

請綁定手機號

x

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯(lián)系,請保持電話暢通!
確定