首页 > 其他分享 >Unity入门之重要组件和API(4) : Input

Unity入门之重要组件和API(4) : Input

时间:2024-07-10 11:25:51浏览次数:20  
标签:Jump 鼠标 GetAxis 键盘 Unity API print Input

前言

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);

标签:Jump,鼠标,GetAxis,键盘,Unity,API,print,Input
From: https://blog.csdn.net/UnityBoy/article/details/140253842

相关文章

  • 组合API-ref函数
     当你明确知道需要的是一个响应式数据对象那么就使用reactive即可其他情况使用ref<template><divclass="container"><div>{{name}}</div><div>{{age}}</div><button@click="updateName">修改数据</button>......
  • 组合API-toRefs函数
     使用场景:剥离响应式对象(解构|展开),想使用响应式对象中的多个或者所有属性做为响应式数据。<template><divclass="container"><div>{{name}}</div><div>{{age}}</div><button@click="updateName">修改数据</button></d......
  • 代码随想录算法训练营第8天 | 复习字符串API、双指针
    2024年7月10日题344.翻转字符数组记得用双指针,时间复杂度最低。题541.反转字符串II首先自己实现一个String的reverse函数方便后面用,记得字符数组和字符串的互转方式。然后计算有多少组2k,分组处理即可。classSolution{publicStringreverseStr(Strings,intk){......
  • DPAPI(Data Protection API)是Windows操作系统提供的一种加密API,用于帮助开发者保护用户
    DPAPI(DataProtectionAPI)在其设计上是相对安全的,但在使用过程中仍然可能存在一些潜在的漏洞或安全考虑:物理访问:如果攻击者能够物理访问受保护数据的存储设备(如硬盘或内存),并且拥有系统管理员权限,他们可能能够通过直接访问加密密钥或拦截解密过程来获取敏感信息。恶意软件......
  • 【SQLite3】常用API
    SQLite3常用API数据库的打开和关闭数据库的打开(sqlite3_open函数)sqlite3_open()函数用于打开一个SQLite数据库文件的函数,函数原型如下:intsqlite3_open(constchar*filename,/*数据库文件的文件名,如果为":memory:"则表示创建内存中数据库*/sqlite3......
  • 使用Python Flask快速构建一个api server
    使用flask快速构建一个apiserver代码如下:fromflaskimportFlask,jsonify,requestapp=Flask(__name__)#定义一个路由,当访问根路径时返回欢迎信息@app.route('/')defhome():return'Hello,thisisasimpleAPI!'#定义一个路由,接受GET请求并返回JSON响......
  • Unity实现安卓App预览图片、Pdf文件和视频的一种解决方案
    一、问题背景最近在开发app项目,其中有个需求就是需要在app软件内显示图片、pdf和视频,一开始想的解决方案是分开实现,也就是用Image组件显示图片,找一个加载pdf的插件和播放视频的插件,转念一想觉得太麻烦了,于是就想着看能不能想电脑浏览器打开图片、pdf和视频一样直接加载显示......
  • APICloud+ cosClient快速构建APP
    APICloud简介APICloud是一个移动低代码开发平台,对于不同的需求场景提供了不同的功能模块,并快速构建企业级应用。cosClient模块简介cosClient是腾讯云对象存储(COS)针对APICloud平台桥接原生SDK封装的模块,可以使用cosClient快速接入并使用COS的功能,目前支持Android、iOS。在APIC......
  • 深入解析:api-ms-win-net-isolation-l1-1-0.dll的角色与丢失修复指南
    api-ms-win-net-isolation-l1-1-0.dll是一个Windows操作系统中的动态链接库(DLL)文件,它与网络隔离功能相关,属于WindowsAppContainer和WindowsSandbox功能的一部分。这个DLL文件负责处理网络请求的隔离,确保应用程序在AppContainer或Sandbox环境中只能访问授权的网络资源,这对于增......
  • Core WebAPI 中 Program.cs和Startup.cs认识 (高频考点)
    1.Program.cs认识publicclassProgram{publicstaticvoidMain(string[]args){//Build方法构建出一个web应用程序,然后去运行CreateWebHostBuilder(args)//调用下面的方法,返回一个IWebHostBuilder对象.Build()//用......