Ruby's Adventures 02
阿新 • • 發佈:2020-09-14
2.地圖的設定
Hierarchy -> 右鍵 -> 2D -> 建立Tilemap
creat -> Assets中建立Tile資料夾,存放地板資訊。 右鍵 -> creat -> Tile -> 設定樣式
分割地板: 選中一個地板樣式,Sprite Mode設定為Multiple,如圖,
選擇Sprite Editor,開啟後按圖選擇模式
選擇切割成為3*3,切割完成後點選Apply應用。其他的地板進行相同的操作。
在Window中開啟2D選項,選擇Tile Palette
將Environment資訊拖入Tile Palette中,更改圖片畫素資訊。可以在unity中右鍵show in explorer,檢視圖片的詳細屬性,看圖片的原畫素並進行調整。192/3=64,所以將Pixels Per Unit(每單元的畫素)更改為64並應用。
之後,將每個地板資訊拖入到Tile Palette中,關於地板對人物的覆蓋問題,可以在人物的inspector面板對spriterenderer的orderinlayer中調高其引數(來自彈幕^^)。
匯入樹木,給樹木新增碰撞資訊。Add component中搜索Box Collider 2D
給人物新增剛體資訊(grid...),和碰撞資訊,調整人物的碰撞資訊為腰部,這樣不會在人物頭頂到樹木時無法通過。並將剛體資訊中的gravity調整為0.
這時運行遊戲發現人物碰撞到樹木時會歪倒,於是新增下面的程式碼。
1 using System.Collections; 2 usingSystem.Collections.Generic; 3 using UnityEngine; 4 5 public class unuseZ : MonoBehaviour 6 { 7 // Start is called before the first frame update 8 void Start() 9 { 10 11 } 12 13 // Update is called once per frame 14 void Update() 15 { 16 if (transform.localEulerAngles.z != 0) 17 { 18 float rotX = transform.localEulerAngles.x; 19 float rotY = transform.localEulerAngles.y; 20 transform.localEulerAngles = new Vector3(rotX, rotY, 0); 21 } 22 } 23 }
在Edit -> ProjectSettings -> graphics 中設定樹木遮擋人物的屬性,設定完成後ctrl+S儲存,如圖
將設定好的元素拖到 Assets -> Prefabs中來進行場景的設定。