常用的Unity输入方法
以下是一些常用的Unity输入方法的总结。
1. Input.GetKeyDown(KeyCode key)#
返回值:bool。如果用户在上一帧没有按下指定的键,但在当前帧按下了,则返回true;否则返回false。
例子:
if (Input.GetKeyDown(KeyCode.Space))
{
Debug.Log("空格键被按下!");
}
2. Input.GetKey(KeyCode key)#
返回值:bool。如果用户在当前帧按下了指定的键,则返回true;否则返回false。
例子:
if (Input.GetKey(KeyCode.W))
{
// 向前移动
}
3. Input.GetKeyUp(KeyCode key)#
返回值:bool。如果用户在上一帧按下了指定的键,但在当前帧释放了,则返回true;否则返回false。
例子:
if (Input.GetKeyUp(KeyCode.Escape))
{
// 退出游戏
}
4. Input.GetAxis("Horizontal") 和 Input.GetAxis("Vertical")#
返回值:float。对于“Horizontal”轴,正值表示向右,负值表示向左;对于“Vertical”轴,正值表示向上,负值表示向下。如果没有输入,则返回0。滚轮上滑为正,下滑为负;且滚轮的每个小格卡顿,其数值信息表示为0.1,快速连续滚动时其数值会直接出现对应的数值,不会一格一格出现。
可以使用Input.GetAxis("Mouse X")获取鼠标在水平方向上的移动量,使用Input.GetAxis("Mouse Y")获取鼠标在垂直方向上的移动量。
例子:
float moveX = Input.GetAxis("Horizontal") * Time.deltaTime;
float moveY = Input.GetAxis("Vertical") * Time.deltaTime;
float scroll = Input.GetAxis("Mouse ScrollWheel"); //滚轮
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
5. Input.GetMouseButton(int button)#
返回值:bool。如果当前帧用户按下了指定的鼠标按钮(0代表左键,1代表右键,2代表中键),则返回true;否则返回false。
例子:
if (Input.GetMouseButton(0))
{
// 鼠标左键被按下
}
6. Input.GetMouseButtonDown(int button)#
返回值:bool。如果用户在上一帧没有按下指定的鼠标按钮,但在当前帧按下了,则返回true;否则返回false。
例子:
if (Input.GetMouseButtonDown(0))
{
// 鼠标左键被按下
}
7. Input.GetMouseButtonUp(int button)#
返回值:bool。如果用户在上一帧按下了指定的鼠标按钮,但在当前帧释放了,则返回true;否则返回false。
例子:
if (Input.GetMouseButtonUp(0))
{
// 鼠标左键被释放
}
8. Input.mousePosition#
返回值:Vector3。表示鼠标在屏幕上的位置(以像素为单位),左下角为(0,0),右上角为(Screen.width, Screen.height)。
例子:
Vector3 mousePos = Input.mousePosition;
// 可以将鼠标位置转换为世界空间中的位置
RaycastHit hit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(mousePos), out hit))
{
// 射线击中了物体
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库