在Unity程式設計初體驗(三)-遊戲物件位移和旋轉控制文章中,有說明如何控制物件的前進、後退、以及向左或向右旋轉,本文以3D文字物件為例,新增文字縮放功能,如下圖:
其步驟如下:
- 在功能表上選擇File->New Project功能選項,出現對話框,輸入專案名稱後,再按Create Project按鈕,即可以建立新專案。
- 選擇Game Object->3D Object->3D Text就可以建立3D文字物件。
- 在右下角Project專案視窗中,在Assets資料夾上按下右鍵,選擇Create->C# Script建立新的C#腳本檔案,然後使改檔名成為TextControl 。
- 原始程式如下(黃底是表示新增的程式):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TextControl : MonoBehaviour {
public float moveSpeed = 10f;
public float turnSpeed = 50f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.DownArrow))
transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
if (Input.GetKey(KeyCode.B))
transform.localScale += new Vector3(1.01f * Time.deltaTime, 1.01f * Time.deltaTime, 1.01f * Time.deltaTime);
if (Input.GetKey(KeyCode.S))
transform.localScale -= new Vector3(1.01f * Time.deltaTime, 1.01f * Time.deltaTime, 1.01f * Time.deltaTime);
}
}
上面黃底粗體字的部份,指依照Unity程式設計初體驗(三)-遊戲物件位移和旋轉控制文章後,新增的程式碼。從上面程式要轉換座標,我們可以用Translate()函式,要旋轉改變方向可以用Rotate()函式,要改變大小可以用localScale屬性。
沒有留言:
張貼留言