主選單

2018-02-25

Unity:[新手練習] 2D GAME (2/2)

續上篇...
【STEP-5】角色移動屬性設定

加入鋼體 (Rigidbody) 屬性,讓物件可以移動:


沒有重力,將 Gravity Scale 設為 0。
角色不旋轉,將 Freeze Rotation Z 打勾。




【STEP-6】撰寫程式控制角色移動

使用程式來控制角色,新增 Script,語言選擇 C#:



程式結構,Start(){} 區塊是啟動時會執行,Update(){} 區塊是更新時會執行:


撰寫互動的程式碼: Input.GetKey 輸入.取得按鍵
KeyCode.RightArrow 按鍵碼.右箭頭
gameObject.transform.position 物件位置
new Vector3 是 3D 向量,(X方向, Y方向, Z方向)
void Update () {
        if (Input.GetKey(KeyCode.RightArrow))
        {
            //按下鍵盤方向右鍵後,貓向左移
            gameObject.transform.position += new Vector3(0.1f, 0, 0);
        }
        else if (Input.GetKey(KeyCode.LeftArrow))
        {
            //按下鍵盤方向左鍵後,貓向左移
            gameObject.transform.position -= new Vector3(0.1f, 0, 0);
        }
    }

預覽,貓動起來:




【STEP-7】限制角色移動範圍

建立空白物件,並可以重新命名:


設定碰撞屬性 Box Collider 2D,並調整物件尺寸為邊界大小。



如果兩個物件都有設定 Box Collider 2D,就會有碰撞的機制。




參考的教學網站: http://readandplay.pixnet.net/blog/post/197395500-unity%E6%95%99%E5%AD%B8-2d%E5%B0%8F%E9%81%8A%E6%88%B2%E8%A3%BD%E4%BD%9C-part-1

Unity:[新手練習] 2D GAME (1/2)

依找到的教學步驟練習...

準備的圖檔素材 (背景、貓、物件):


【STEP-1】建立專案

建立專案:


專案相關設定:




【STEP-2】建立背景

將素材檔案拖曳至 Assets 區塊:


將要使用的元件拖曳至場景,左側清單也會同時出現元件項目:


右側工作區塊為目前選取的物件的屬性設定,Position 設定為 0 可將物件置中:


新增一個用來放背景物件的 Sorting Layer:



將背景物件移至剛剛新增的 Sorting Layer:




【STEP-3】圖層管理

新增圖層...不知道怎麼形容這個 Layer 跟 Sorting Layer 的關係,感覺像是個群組的概念...(目前一知半解@@)


Layer 名子可以自己取:


把物件歸到這個 Layer:


可將此 Layer 鎖定,避免手滑 XD:




【STEP-4】角色物件

步驟跟背景物件相同,將貓圖元件拖曳進來設定。圖層的順序是越下面越接近前景,可自行調整:



依圖層設定,貓會在背景圖前面:


設定碰撞屬性,讓物件可以被碰撞 (Collider 屬性):


選擇碰撞範圍的類型,Box Collider 2D 是矩形範圍:


調整碰撞區域的範圍:




參考的教學網站:http://readandplay.pixnet.net/blog/post/197395500-unity%E6%95%99%E5%AD%B8-2d%E5%B0%8F%E9%81%8A%E6%88%B2%E8%A3%BD%E4%BD%9C-part-1