📂 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按下时,返回 -1到1之间的值
print(Input.GetAxis("Horizontal"));
键盘SW按下时,返回 -1到1之间的值
print(Input.GetAxis("Vertical"));
3.2 检测鼠标
鼠标横向移动时,返回 -1到1的值
print(Input.GetAxis("Mouse X"));
鼠标竖向移动时,返回 -1到1的值
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游戏开发。积累收藏了大量游戏开发资源和素材,如有需要请联系我。
🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕