遊戲製作之路-憤怒的小鳥-1

本次分享的是我做的第一款Unity遊戲,當然,是借鑑網上的教學視頻製作的。
憤怒的小鳥,是在siki學院上看的,視頻鏈接
因爲是半年前做的東西了,記得不是很詳細,大致總結一下我的收穫。
一、開始界面的搭建
一般在遊戲製作時候呢,我們會把window/lighting/settings中的auto generate取消勾選,他是自動生成的意思,會自動更新lightmap,可能會導致我們製作遊戲的時候會卡,可以自己手動烘焙,所以一般我們取消勾選。
設置背景的時候,我們一般先會創建一個Canvas(畫布),UGUI是Unity新支持的2D界面控件,所有的UI控件都需要在包含Canvas組件的物體下邊充當子物體,我們可以在GameObject->UI下創建物體時,會自動生成Canvas以及與其對應的EventSystem控件。 我們的Text,image,button等ui控件必須要創建在Canvas下,設置背景圖就要添加image控件,點擊inspector中rect下左上角的十字來設置錨點,按住alt點擊右下角的十字就會把image的錨點擴大到它的父物體上,也就是canvas,這樣圖片的大小就會和canvas保持一致了。在這裏插入圖片描述
canvas有三種渲染模式,分別是 Screen Space - Overlay, Screen Space - Camera和World Space。
在Screen Space - Overlay模式下,Canvas將作爲2D圖像直接渲染在屏幕上,且處於屏幕的最前方,不會受其他任何物體遮擋, 同時不受任何設置的影響,即使沒有相機也可以看到其內容。

在Screen Space - Camera模式下,Canvas可以指定渲染的相機,並根據相機距離Canvas的遠近以及相機的視錐體大小進行動態縮放,最終實現在屏幕上的平鋪效果。當有物體比Canvas更接近相機時,該物體會顯示在Canvas的前方。物體距離相機比Canvas遠的物體將會被遮擋,對於一些有層級優先級要求的畫面,我們可以選擇這個 ,比如一些例子系統或者背景的ui顯示。

在World Space模式下,Canvas會像3D物體一樣位於遊戲場景中,可以設置其位置和大小,與其他3D物體具有同樣的顯示效果,在前兩個模式下,我們是不可以調整canvas的位置和大小的。
在這裏插入圖片描述
我們繼續加上小喇叭,開始遊戲等image和text控件,addCompone給他們添加button組件,在Onclick下掛上點擊時間的C#腳本,當你鼠標點擊控件時,就可以觸發你所寫的腳本了。
二、遊戲關卡界面
創建一個新的Scene,在File/build settings中添加場景,在原來腳本中調用SceneManager.LoadScene(Scene的序號),就可以實現頁面跳轉了。在這裏插入圖片描述
這是我們的遊戲關卡界面,同樣,只是canvas和其它ui控件的組合。
常用的Find方法獲得遊戲物體():
1、GameObject.Find(string name);
這種方法查找好處是能查到名字爲name的gameobject。缺點是不能查找非激活的物體。而且會逐個遍歷所有物體。比較浪費性能。不要在任何場景都有這個方法
2、GameObject.FindGameObjectsWithTag(string tag)/GameObject.FindWithTag(string tag);
這兩個方法是根據tag來查找遊戲物體。同樣不能查找隱藏物體,但是因爲是在tag集中查找。性能優於上面一種。
3、 Transform.Find(string name);
這個方法是查找自身的子物體。特點是可以查找到非激活狀態的子物體。缺點是如果需要查找子物體的子物體還需填寫路徑。

我們利用gameObject.getComponent<…>() (注意:這是一個方法,必須要加括號)來獲取遊戲物體下的組件,通過腳本中對獲得的組件的設置來實現遊戲物體的動態切換。

基本類型強轉:int.parse(float num) 爲float類型的num轉換爲int型。
其它的都是一些基礎問題了,setActive什麼的也比較簡單,剩下的我們下一篇再說。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章