Unity入门 |(5)重要组件和API:Input

📂 Unity 开发技能 | 目录索引

📂 Unity 常用插件 | 总目录

📂 Unity 开发资源 | 目录索引

📂 Unity 源码工程 | 总目录

Input 类主要处理用户输入设备相关操作;输入设备包括鼠标、键盘、触屏、手柄、陀螺仪(重力感应)。

​​在这里插入图片描述


1. 鼠标

1.1 鼠标在屏幕的位置

print(Input.mousePosition);

1.2 检测鼠标输入

0-左键  1-右键  2-中键
if (Input.GetMouseButtonDown(0)) {
	print("鼠标按下");
}
if (Input.GetMouseButtonUp(0)) {
	print("鼠标抬起");
}
if (!Input.GetMouseButton(0)) {
	print("鼠标长按");
}

1.3 鼠标中键滚轮

返回值Vector2中的x值:横向滚动 
返回值Vector2中的y值:纵向滚动  -1-往下滚 0-没有滚 1-往上滚
print(Input.mouseScrollDelta);

2. 键盘

2.1 检测键盘输入

键盘按下
if (Input.GetKeyDown(KeyCode.A)) {
	print("A键按下");
}
 
键盘抬起
if (Input.GetKeyUp(KeyCode.A)){
	print("A键抬起");
}
 
键盘长按
if (Input.GetKey(KeyCode.A)) {
	print("A键长按");
}

2.2 重载方法

传入的字符串只能是小写字符串
if (Input.GetKeyDown("a")) {
	print("A键按下");
}

3. 虚拟轴

3.1 检测键盘

键盘AD按下时,返回 -11之间的值
print(Input.GetAxis("Horizontal"));
 
键盘SW按下时,返回 -11之间的值
print(Input.GetAxis("Vertical"));

3.2 检测鼠标

鼠标横向移动时,返回 -11的值
print(Input.GetAxis("Mouse X"));
 
鼠标竖向移动时,返回 -11的值
print(Input.GetAxis("Mouse Y"));

3.3 GetAxisRaw和GetAxis的区别

两个函数用法相同,但是返回值不同。GetAxisRaw只返回-1、0、1,GetAxis返回-1、0、1之间变化的值。

4. 触屏

4.1 检测触屏

if (Input.touchCount > 0) {
	Touch t1 = Input.touches[0];
 
	[位置]
	print(t1.position);
	[相对上次位置的变化]
	print(t1.deltaPosition);
}

4.2 多点触摸开关

开启多点触摸
Input.multiTouchEnabled = true;

5. 手柄

5.1 获取所有按键名字

string[] joysticks = Input.GetJoystickNames();

5.2 检测手柄输入

if (Input.GetButtonDown("Jump")) {
	print("Jump键按下");
}
if (Input.GetButtonUp("Jump")) {
	print("Jump键抬起");
}
if (Input.GetButton("Jump")) {
	print("Jump键长按");
}

6. 陀螺仪(重力感应)

6.1 开关

Input.gyro.enabled = true;

6.2 重力加速度

print(Input.gyro.gravity);

6.3 旋转速度

print(Input.gyro.rotationRate);

6.4 当前旋转四元数

print(Input.gyro.attitude);

7. 其他

【是否有任意键或鼠标长按】
if (Input.anyKey) {
	print("有按键长按");
}
 
【是否有任意键或鼠标按下】
if (Input.anyKeyDown) {
	print("有按键按下");
}
 
【这一帧的键盘输入】
print(Input.inputString);

在这里插入图片描述


🥷🏻博主简介:20年软件开发经验,经历嵌入式驱动开发、Android开发、Unity游戏开发。积累收藏了大量游戏开发资源和素材,如有需要请联系我。

🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity打怪升级

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值