检测键盘按下与否和鼠标类似。
如下是一段控制小车移动及转向的代码,当在game窗口按下w时,小车将会向前移动;当按下s时,小车会向后移动;当按下a时,小车就会向左转弯;当按下d时,小车会向右转弯。
我测试了一下,发现可以同时按两个键,比如我同时按w键和a键,小车就会进行左转弯移动。
如果我同时按下w和s,那么小车就会停在原地不动。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class carAi : MonoBehaviour
{
float carSpeed = 5;
float w = 30;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.W))
{
float d = carSpeed * Time.deltaTime;
this.transform.Translate(0, 0, d, Space.Self);
}
if (Input.GetKey(KeyCode.S))
{
float d = carSpeed * Time.deltaTime;
this.transform.Translate(0, 0, -d, Space.Self);
}
if (Input.GetKey(KeyCode.A))
{
float r = w * Time.deltaTime;
this.transform.Rotate(0, -r, 0, Space.Self);
}
if (Input.GetKey(KeyCode.D))
{
float r = w * Time.deltaTime;
this.transform.Rotate(0, r, 0, Space.Self);
}
}
}