一、Unity創建2D項目
首先在Assets中創建文件存放素材和腳本
1.在Assets中創建文件夾(創建文件夾的方法:Assets右鍵→Create→Folder→重命名)
Scenes存放場景
Scripts存放腳本和素材
Object存放移動物體( 小樹/小鳥)
二、導入游戲背景畫面到Scripts中
1.導入設計好的背景圖片PNG(背景圖中包含場景和要移動的主要物體)
我們要把背景圖片截成一個一個的小圖片
點擊背景圖片①SpriteMode —→Multiple
②點擊Sprite Editor→Apply進行手動切割(框選物體)
每框選一個物體進行→命名
點擊Apply應用
就會發現你選擇的物體已經拆分開
③調整面板——(點擊攝像機)調整size
④背景圖拖入Scene中調整大小
W/R調整背景位置和大小
⑤把我們需要移動的目標物體(憤怒的小鳥/走迷宮的小人)也托上去
三、如何給物體制作動畫
①創建文件夾Animationx
Assets→創建文件夾→Animation
②選擇需要移動的物體→點擊Window→Animation→Animation→再添加命名→
③給移動物體加動畫(比如小鳥+揮動翅膀的動作或給圓形物體+伸縮的動作)
不停的更換圖片形成動畫效果
Add Curve→Sprite Renderer→Sprite
移動/添加關鍵幀
| ?問題1: 解決unity物體被背景遮擋的問題: Player Settings→Graphics→ 問題2: Unity在Scene窗口有顯示,在Game窗口不顯示——還是遮擋沒解決 把被遮擋的Sprite的Order in Layer改為1 |
四、編寫腳本控制物體上下左右(W/S/A/D)移動
物體上下左右移動代碼 | public class move : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() {//在Update中實時檢測你按了某些鍵 if (Input.GetKey(KeyCode.S)) { gameObject.transform.Translate(Vector3.down * 5 * Time.deltaTime);//使游戲對象向下走*5每一幀的時間 } if (Input.GetKey(KeyCode.W)) { gameObject.transform.Translate(Vector3.up* 5 * Time.deltaTime);//使游戲對象向上走*5每一幀的時間 } if(Input.GetKey(KeyCode.A)) { gameObject.transform.Translate(Vector3.left* 5 * Time.deltaTime);//使游戲對象向左走*5每一幀的時間 } if(Input.GetKey(KeyCode.D)) { gameObject.transform.Translate(Vector3.right * 5 * Time.deltaTime);//使游戲對象向右走*5每一幀的時間 } } } |
五、跳轉頁面(添加物理碰撞)
1.給兩個物體(移動物體和終點物體)添加物理碰撞
2.給移動物體添加鋼體(有鋼體才能檢測碰撞)
3.添加物理碰撞代碼便于檢測
①添加碰撞檢測
(代碼:先寫代碼再寫///注明)
②當你給移動物體(植物)添加過鋼體時,移動時它就會墜落
所以把移動物體的重力速度改為0
③運行實現移動物體觸碰
4.碰撞進行跳轉場景
①保存之前場景
②新建場景File→New Scence
③給新建場景重命名便于區分
④給新建場景添加你想要的效果
(比如跳轉場景顯示文字test(Game Over))
新場景→GameOject→UI→Text→調整界面大小→輸入文字
⑤切換頁面
把兩個場景添加到游戲當中
File→Build Setting
⑥代碼切換頁面
| /// <summary> /// 碰撞檢測的時候會執行該方法 /// </summary> /// <param name="col"></param> void OnCollisionEnter2D(Collision2D col) { if (col.collider.gameObject.name == "destination")///如果碰撞物體是**切換場景 { #pragma warning disable CS0618 // 類型或成員已過時 Application.LoadLevel("2");//應用.加載關卡“2” #pragma warning restore CS0618 // 類型或成員已過時 } } } |
現在已經實現觸碰跳轉頁面 5.有些游戲設置了障礙(跟柱子碰撞——有阻攔作用)
總結
以上是生活随笔為你收集整理的学编程C#之制作一个2D游戏(愤怒的小鸟/走迷宫)来理解——基础编程和界面跳转的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。