using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class KeyTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0)){
Debug.Log("左键按下。。。");
}
if(Input.GetMouseButtonDown(2)){
Debug.Log("中键按下。。。");
}
if(Input.GetMouseButtonDown(1)){
Debug.Log("右键按下。。。");
}
}
}
注意:监听需要写在Update中,每一帧都需要监听
Input.GetMouseButtonDown()
:监听鼠标按键按下Input.GetMouseButtonUp()
:监听鼠标按键松开Input.GetMouseButton()
:监听鼠标按键持续按下using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class KeyTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.A)){
Debug.Log("A键按下。。。");
}
if(Input.GetKeyUp(KeyCode.A)){
Debug.Log("A键抬起。。。");
}
if(Input.GetKey(KeyCode.A)){
Debug.Log("A键持续按下。。。");
}
}
}
注意:监听需要写在Update中,每一帧都需要监听
Input.GetKeyDown()
:监听键盘按键按下Input.GetKeyUp()
:监听键盘按键松开Input.GetKey()
:监听键盘按键持续按下虚拟轴到底是什么?
简单来说,虚拟轴就是一个数值在-1~1
内的数轴,这个数轴上重要的数值就是-1、0和1。当使用按键模拟一个完整的虚拟轴时需要用到两个按键,即将按键1设置为负轴按键,按键2设置为正轴按键。在没有按下任何按键的时候,虚拟轴的数值为0;在按下按键1的时候,虚拟轴的数值会从0~-1进行过渡;在按下按键2的时候,虚拟轴的数值会从0~1进行过渡。
系统预设了很多的虚拟轴供我们使用,在(服务-常规设置-输入管理器-轴线)中
以水平虚拟轴为例,可以看到系统默认配置了一个名为Horizontal
的虚拟轴
然后就可以在脚本中根据虚拟轴名称获取到这个虚拟轴的值,并控制物体的左右移动
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class KeyTest : MonoBehaviour
{
float moveSpeed = 5;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float h = Input.GetAxis("Horizontal");
Vector3 pos = transform.position;
pos.x += Time.deltaTime * h * moveSpeed;
transform.position = pos;
}
}