交互
using UnityEngine;
public class CubeInput : MonoBehaviour{
//每时每刻去判断是否玩家有按键
void Update(){
//键盘
//按下
bool downA = Input.GetKeyDown(KeyCode.A);
//bool等于true 说明按下去了 false说明没按
//简单写法
if(Input.GetKeyDown(KeyCode.A)){
Debug.Log("按下了A键");
}
//抬起
if(Input.GetKeyUp(KeyCode.A)){
Debug.Log("松开了A键");
}
//按住
if(Input.GetKey(KeyCode.Space)){
Debug.Log("按住了空格键");
}
//鼠标
//0表示左键
//1表示右键
//2表示中间滚轮
if(Input.GetMouseButtonDown(0)){
Debug.Log("按下了鼠标左键");
}
if(Input.GetMouseBottonUp(0)){
Debug.Log("松开了鼠标左键");
}
if(Input.GetMouseButton(0)){
Debug.Log("按住了鼠标左键");
}
}
}
人物移动小例子:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SimeplePlayerMove : MonoBehaviour
{
[Header("移动速度")]
public float moveSpeed = 3;
[Header("转身速度")]
public float turnSpeed = 3;
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.position += transform.forward * Time.deltaTime * moveSpeed;
}
if (Input.GetKey(KeyCode.S))
{
transform.position -= transform.forward * Time.deltaTime * moveSpeed;
}
if (Input.GetKey(KeyCode.A))
{
transform.eulerAngles -= Vector3.up * turnSpeed;
}
if (Input.GetKey(KeyCode.D))
{
transform.eulerAngles += Vector3.up * turnSpeed;
}
}
}
虚拟按键
支持改键位设置
Edit -> ProjectSetting -&g