1. 程式人生 > 實用技巧 >Ruby's Adventures 02

Ruby's Adventures 02

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 using
System.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中來進行場景的設定。