iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 5
0

前幾篇文章我用短短的程式碼和簡單的設定就完成了分割Sprite、角色移動和Main Camera大小設定。接著該來做遊戲中裝備掉落、接獲裝備的系統了。

先簡單介紹一下我想要的功能大概如何運作:

在遊戲進行中,有一定機率會從螢幕上方掉落裝備。

http://ithelp.ithome.com.tw/upload/images/20161205/20103149kwYNOYeTW7.png

如果主角接到掉落的裝備,會把它戴在頭上。(戴在頭上的裝備會持續發射子彈或擁有其他功能,不過那些留到之後再做)

http://ithelp.ithome.com.tw/upload/images/20161205/20103149Rx9gRoVvIn.png

如裝備離開螢幕,則自動移除該裝備。

http://ithelp.ithome.com.tw/upload/images/20161205/20103149mBdDluKplu.png

在動手做之前,我先來解釋一下之後會大量用到的Game Object和Component之間的關係。

在Unity中,每個場景(Scene)都是由許多Game Object組成的。Game Object本身沒有什麼功能,真正的功能存在於Component中。所以為了使Game Object達成特定的功能,就必須為Game Object加上(Attach)擁有特定功能的Component。例如,點一下先前做的角色,可以在Inspector中看到它所擁有的Component,包括Transform、Sprite Renderer和我們用C#寫的Player Movement (Script)。每個Game Object都會有一個Transform Component(UI GameObject 除外),用來控制與顯示Game Object的位置(Position)、旋轉角度(Rotation)和縮放比例(Scale)。除了Transform Component外,其他Component通常都會有一個「打勾」的符號在旁邊

http://ithelp.ithome.com.tw/upload/images/20161205/20103149GO1Yxyvywo.png

點擊打勾的符號可以任意啟用(enable)或關閉(disable)該Component。

做個小實驗。進入Play Mode,如果把主角的Player Movement (Script) Component關掉,就無法用鍵盤控制角色。如果把Sprite Renderer關掉,角色的圖片就會消失。

了解Game Object和Component之間的關係後,馬上來為遊戲角色增加新的功能(也就是Component)。

選取我先前做好的角色,按在Inspector最下方的「Add Component」按鈕,選Physics 2D→Box Collider 2D。現在該角色就擁有Box Collider 2D Component了。

Box Collider 2D (以及所有的Collider 2D 和 Collider) 主要用來偵測碰撞。Collider常常會搭配Rigidbody/Rigidbody 2D一起使用,來模擬剛體運動與物理碰撞。

在Box Collider 2D中,點一下Edit Collider旁邊的按鈕,可以在Scene中調整Collider的範圍(即綠色的框框)。稍微把框框往內拉一點,這就是主角可以偵測是否接到掉落裝備的有效範圍了。

http://ithelp.ithome.com.tw/upload/images/20161205/20103149WXOrk2jQTH.png

繪圖進度

今天忙著做動開始動畫……遊戲本身好像沒有什麼進度,不過動畫快完成了!!!

http://ithelp.ithome.com.tw/upload/images/20161205/201031498Oivmtwz3s.png

明天繼續


上一篇
Day 4: 調整Main Camera長寬比、設定角色移動邊界
下一篇
Day 6: 接取掉落的裝備——OnTriggerEnter2D & Tag
系列文
我要和天一樣高!!!(Unity 2D手機小遊戲開發日誌)30

尚未有邦友留言

立即登入留言