[unity2D] 透過鍵盤進行上下左右移動

在一開始使用unity的時候,想讓角色動起來卻又不知道該如何是好,所以在這裡以鍵盤上下左右移動的方式,透過簡易的程式碼,讓自己的角色動起來!

方法:
1.建立角色
2.增加Rigidbody 2D(剛體)
3.增加碰撞器(在此使用的是Circle Collider2D)
4.建立C#輸入程式碼執行動作
5.套用於角色上

執行結果入如下方影片



---------------------------------------------------------------------------

step1.先建立角色吧!
在Assets按著右鍵 Create-Sprites-Square(方塊)

















step2.將角色放入Hierarchy中
這時候角色就會出現在Scence中了喔

step3.為角色增加Rigidbody 2D剛體
點擊角色的Inspector,可看到角色的資訊,
並點擊下方Add Component - Physics 2D - Rigidbody 2D
(基本上剛體大概意思就是指世界中的物體,含有世界上的重力、摩擦力等等各種力的運算)
所以我們將角色增加剛體後,因為重力的關係,角色就會掉下去了




















step4.避免角色掉下去,所以建立一個地板
透過剛剛建立角色用的square,拉進Hierarchy中,並透過左上方調整按鈕,將方塊拉成長方形作為地板(若這時候執行,會發現角色依舊穿過地板掉下去了,所以接著要增加碰撞器!)








step5.為角色、地板增加Collider 2D碰撞器
Collider碰撞器,是指控制遊戲物件碰撞範圍的元件
而Collider 2D可依自己需求選擇以下四種
1.Box Collider 2D 方形碰撞器
2.Circle Collider 2D 圓形碰撞器
3.Edge Collider 2D 邊緣碰撞器(只有一條線,在2D中可作為地面碰撞使用)
4.Polygon Collider 2D 多邊形碰撞器(加入元件會依照遊戲物件的Sprite自動形成不規則)

點擊角色的Inspector,加入碰撞器 Add Component - Physics 2D
在這邊呢,角色我們選擇Circle Collider 2D,地板部分選擇Edge Collider 2D 。
(這時候在執行一次就會發現角色會掉在地板上了)

step6.新增執行動作程式碼
在Assets中,按住右鍵,選擇Create - C# script
就會看到Assets中出現了NewBehavourScript....,並點擊進入
輸入以下程式碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {

// Use this for initialization
void Start () {


}

// Update is called once per frame
void Update () {

if (Input.GetKey (KeyCode.RightArrow)) {
gameObject.transform.position += new Vector3(0.1f,0,0);
}

if (Input.GetKey (KeyCode.LeftArrow)) {
gameObject.transform.position += new Vector3(-0.1f,0,0);
}
if (Input.GetKey (KeyCode.UpArrow)) {
gameObject.transform.position += new Vector3(0,0.1f,0);
}
if (Input.GetKey (KeyCode.DownArrow)) {
gameObject.transform.position += new Vector3(0,-0.1f,0);
}
}
}


輸入完畢後,儲存,關閉


step7.角色套用執行動作程式碼
將輸入好的程式碼,從Assets中,拉入Hierarchy中的角色上,
這時候就會看到角色的Inspector中,出現了C# script





















step8.來執行試試看吧
透過鍵盤的上下左右進行移動吧!



留言

這個網誌中的熱門文章

[unity 2D] 簡單認識button(上)

[ 開放資料part1 ] [android] 利用EXCEL檔案格式來取得開放資料吧