unity案例入門(拾取遊戲)
- 案例簡述
這個案例實現一個非常簡單的拾取寶物遊戲,主角是一個小球,玩家通過鍵盤控制小球拾取全部寶物。 - 鍵盤控制物體移動
- Rigidbody rd;public int force = 10;
void Start () {
rd = GetComponent ();//獲得物體的剛體元件
}
void Update () {
float h = Input.GetAxis (“Horizontal”);//獲得虛擬軸橫向移動距離
float v = Input.GetAxis (“Vertical”);//獲得虛擬軸縱向移動距離
rd.AddForce (new Vector3(h, 0, v) * force);//對物體施加力的作用
}
- 控制相機跟隨物體移動
- Transform playerTransform;//需要跟隨的物體private Vector3 offset;//物體與攝像機的位置偏移量
void Start () {
offset = transform.position – playerTransform.position;
}
void Update () {
transform.position = playerTransform.position + offset;
}
首先記錄相機與需要跟隨的物體的position偏移量,而後讓攝像機位置通過偏移量實時改變。
- 使寶物自己旋轉
- Update () {
transform.Rotate (new Vector3(0, 1, 0), Space.World);
}
Update()方法每秒大約執行60次,根據這個調節旋轉速度。
- 碰撞檢測撿起物體
- OnCollisionEnter(Collision collision){
if (collision.collider.tag == “Food”) {
Destroy (collision.collider.gameObject);
}
}
相對而言,碰撞檢測雖然也能實現拾取物體的功能,但是通過碰撞檢測拾取物體,會在拾取的同時發生碰撞,這是顯然不合理的,因此撿起物體通常通過下面的觸發檢測實現。
- 觸發檢測撿起物體
- OnTriggerEnter(Collider collider){
if (collider.tag == “Food”) {
Destroy (collider.gameObject);
}
}
觸發檢測的使用方法與碰撞檢測非常相似。使用時需在相應物體的碰撞器元件欄中勾選isTrigger選項。
- 初步使用GUI顯示分數與勝利宣言
- int score = 0;public Text text;public GameObject winText;
void OnTriggerEnter(Collider collider){
if (collider.tag == “Food”) {
score++;
text.text = “Score: ” + score.ToString ();
if (score == 11) {
winText.SetActive (true);
}
Destroy (collider.gameObject);
}
}
細心的朋友可能會發現,同是文字物件,但是顯示分數與勝利宣言的物件分別用了Text和GameObject型別。這是因為,記錄分數的text我們只需要更改其顯示內容,即只對它的text元件進行操作,因此只需要獲得它的text元件;而winText不同,我們需要它在遊戲勝利時顯示出來,也就是控制整一個物件,因此需要獲得整一個GameObject。
更多unity2018的功能介紹請到paws3d學習中心查詢。
相關文章
- unity之入門經驗Unity
- Unity3D入門Unity3D
- kafka入門案例Kafka
- RabbitMQ入門案例MQ
- vuex入門案例Vue
- Unity學習筆記--入門Unity筆記
- C#遊戲開發快速入門教程Unity5.5教程C#遊戲開發Unity
- Python入門(案例)Python
- 前端-vue入門案例前端Vue
- CSS入門案例:摺扇CSS
- jQuery入門(四)案例jQuery
- FineBI入門案例分析
- Unity3D開發入門教程(二)—— Lua入門Unity3D
- unity入門—五分鐘製作一個理論上的遊戲Unity遊戲
- Unity 2D遊戲開發快速入門(內部資料)Unity遊戲開發
- Unity3d 入門(一) 瞭解Unity3dUnity3D
- unity入門—資源匯入與場景建立Unity
- RabbitMQ 入門案例 - fanout 模式MQ模式
- spring 01 入門案例Spring
- Flask服務入門案例Flask
- Unity Shader 入門精要 筆記(1)Unity筆記
- 【Unity Shader入門精要】— 高階篇Unity
- webpack 入門之 loader 案例Web
- Spring Cloud Gateway 入門案例SpringCloudGateway
- drools的簡單入門案例
- POI-入門案例(2/2)
- MapReduce入門及核心流程案例
- Python入門經典案例一Python
- Mybatis註解開發案例(入門)MyBatis
- 五、Elasticsearch快速入門案例(1)-CRUDElasticsearch
- Pig安裝及入門案例
- 一個案例入門補環境
- Unity 2D遊戲開發快速入門第1章建立一個簡單的2D遊戲Unity遊戲開發
- RabbitMQ 入門案例 - Work 模式 - 輪詢模式MQ模式
- SpringMVC入門案例 & 常用API使用演示SpringMVCAPI
- Django入門案例:圖書管理系統Django
- (CMake):CMake安裝及快速入門案例
- angular學習筆記(一)-入門案例Angular筆記