2017年3月6日 星期一

Unity2D 範例一(1)

2D
Space Invader:類似80年代的小蜜蜂的射擊遊戲。
      安裝的部份請參考安裝篇

      首先開啟Unity,點選NEW開啟一個新專案
      1、輸入專案名稱
      2、輸入存放位置
      3、選擇素材是2D或3D,這裏我們選擇2D
      按下開啟專案Create project



開啟之後的畫面如下:

Hierarchy(物件):放的是每一層的物件
Scene(場景):面畫裏安排的場景
Assets(素材):匯入的素材
Inspector(屬性):每個物件的屬性設定


上面都熟悉了之後,再來我們就先來按排背景,小蜜蜂的背景是全黑的,所以我們就用任意繪圖軟體,拉出一個600*800像素的圖片,存成png的格式,放到Assets素材框裏

然後再把素材框裏的背景圖片放到Sense場景裏,就成了遊戲的背景了,同時我們也可以看到Hierarchy物件框裏多了bcakground背景的物件



點選背景物件background
inspector屬性那邊就會出現所點選物件backgroud的屬性
Position是調整物件在場景裏的相對位置,正中間為XYZ皆為0
在此我們將它皆設為0,背景就會在正中間了
同時所有的物件放在場景的哪裏?會有一個圖層的觀念
在這裏有兩個動作要做,一個是圖層順序(Sorting Layer),一個是建立圖層(Layer)
(註:Sorting Layer 與 Layer 的差異)
我們先開啟一個Sorting Layer



在Sorting Layer新開一個圖層(Add Sroting Layer...)
1、按[+]圖示
2、設定圖層(Layer)名稱:Background
3、Sorting Layer可以移動圖層的位置,我們可以移動Bcckground的位置到上面



新增了之後就可以選取了


接著建立圖層(Layer),並新增一個Background圖層,名字可自取



選擇背景的Layer





再來點選右上Layers的下拉式選單,把背景的鎖定住,就不會移動到背景了


背景完成了,我們接下來繼續來造飛機~
我們先用繪圖軟體來製作一個50*50像素的飛機~
如果各位會製作透明背景的飛機更優~
不然也沒關係,因為這個範例背景是黑色的~
只要做一個背景是黑色的飛機,其實也看不出來~

做好的飛機,一樣的方式拖曳到Assets(素材)區,如下圖:


再把飛機素材Space Ship拖曳到Scene(場景)裏~
然後跟背景Background一樣,設定Sorting LayerLayer,新增Space Ship圖層~




Sorting Layer可以移動,把Space Ship圖層曳到Background圖層後面~
如果把Space Ship圖層與Background圖層對調的話,背景就會把飛機蓋住,就會看不到飛機了(你可試看看)


再來我們把飛機放在畫面中間偏下的部份~
在屬性Posistion裏設定 【X0】【Y-3】【Z0】 (Unity裏100像素為1個單位,可自行換算)



接下來我們設定(Collider)的屬性,這樣它才能被其它東西碰撞~

Add Component的下拉選單~
(1)選Physics 2D
(2)選Box Collider 2D





選完之後,我們可以看到飛機的外框,大小可以自由調整,為了讓它被擊中碰撞的判定不要那麼嚴格,我們把飛機的碰撞外框設小一點,我們從0.5調到0.45,大家可以看到,場景裏飛機的方框變小了點~



接下來我們加入飛機的剛體(Rigidbody)性質,讓他可以移動

Add Component的下拉選單~
(1)選Physics 2D
(2)選Rigidbody 2D
(3)設定重力,我們用不到重力,所以Gravity Scale0
(4)凍結飛機旋轉
     Constraintsv下拉式表單打開
     Freeze Rotation Z 打勾






接著我們要寫程式來控制飛機

Add Component的下拉選單~
(1)選New Script
(2)輸入檔案名稱:ShipControl
(3)語言選C#
(4)按下面的Create and Add



Assets(素材)那邊會出現C#的檔案
雙點可開啟程式編輯器
新版的Unity是用微軟的Visual Studio,所以畫面會有點不一樣
程式的內容是一樣的



想先儘快一窺全貌的大大,就先參考下面的參考資料吧~~~


參考資料:讀樂島