昨天我們程式最後運行的結果是:按一下只前進一點點,長按著只有最初前進一下,之後就沒有反應了。
那先分析這問題,代表是只有按下按鍵的那個瞬間被判斷到了,之後就沒判斷到了
所以可以知道問題在"Input.GetKeyDown()"上面,那之後我又查了一下,除了之前提到的"Input.GetKeyDown()"以及"Input.GetKeyUp()"之外,還有一個"Input.GetKey()"。
那Input.GetKey()就是判斷按鍵是否有按著的,因此我們程式碼應該改成:
using UnityEngine;
public class Move : MonoBehaviour
{
void Update()
{
if (Input.GetKey(KeyCode.UpArrow))
{
transform.localPosition += new Vector3(2.5f, 0, 0) * Time.deltaTime;
}
}
}
那實際運作之後:確實變成一開始所想要得結果了。
方塊很平順地往X軸的方向滑去。接著只要再多加幾個判斷式,我們就可以做到讓方塊在平面隨意滑動。