Unity3D脚印5——输入(坐标系,记录,键盘,游戏开发)

时间:2024-05-08 16:17:11 作者 : 石家庄SEO 分类 : 游戏开发
  • TAG :

    Unity3D%E8%84%9A%E5%8D%B05%E2%80%94%E2%80%94%E8%BE%93%E5%85%A5


使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据。

这里重点记录一下这几个东西的用法,鼠标,键盘,触摸,重力(陀螺仪)

PS.按钮的名字:http://game.ceeger.com/Script/Enumerations/KeyCode/KeyCode.html

鼠标:

Input.mousePosition表示鼠标当前的像素位置(坐标系如何?以左下角为原点

float GetAxis(string) "Mouse X"和"Mouse Y" 可以获取这一帧鼠标在X,Y上移动的偏移量,正常速度在-1和1之间,快速移动鼠标会超过这个数值(根据我的猜测,这个数值可能是像素?看样子不是像素,或者是一个单位比例吧

接下来这三个函数的参数,0左键,1右键,2中键

GetMouseButton 对应的键处于按下状态时返回true

GetMouseButtonDown对应的键被按下时返回true

GetMouseButtonUp对应的键弹起时返回true

除了Input组件之外,可以使用MonoBehaviour的回调函数来监听

以下几个回调函数需要当对象添加了Collider组件或者GUIElement组件才会被回调,这几个函数在iPhone上无效

OnMouseDown 当鼠标点击到对象的时候回调

OnMouseDrag 当鼠标拖拽对象时调用,在Ignore Raycast层上无效

OnMouseEnter 当鼠标进入对象时调用

OnMouseExit 当鼠标离开对象时调用

OnMouseOver 当鼠标停留在对象上面时调用

OnMouseUpAsButton 鼠标在同一个对象上按下,并弹起时调用

OnMouseUp 跟楼上一样

键盘:

anyKey 此时是否有某一按钮或者鼠标按键被按住

anyKeyDown 当你松开一个按钮的时候,是true,其他情况都是false

GetButton 当某个按钮被按下时返回true,***用的...GetAxis通用

GetButtonDown 当某个按钮被按下的那一帧返回true

GetButtonUp 当某个按钮弹起时返回true

GetKey,GetKeyDown,GetKeyUp 支持KeyCode参数,敲代码时有自动提示,会舒服一些

触摸:

multiTouchEnabled 是否支持多点触摸

touchCount 只读变量,触摸对象的数量

touches 一个Touch的静态数组,表示上一帧所有的触摸对象

GetTouch(int index) 相当于touches[index]

Touch结构表示一个手指在触摸屏上的状态

int fingerId 触摸的唯一索引

Vector2 position 触摸的位置

Vector2 deltaPosition 距离上次改变的距离增量

float deltaTime距离上次改变的时间增量

int tapCount 点击的次数?

TouchPhase phase 触摸的状态

TouchPhase有五种状态:

Began 开始触摸

Move 在屏幕上移动

Stationary 触摸但没有移动

Ended 手指从屏幕上离开

Canceled 触摸被系统取消

陀螺仪重力感应神马的,以后用到再了解吧

想要读取轴向使用Input.GetAxis方法获取下列默认轴: "Horizontal" 和"Vertical" 映射于控制杆、A、W、S、D和箭头键(方向键)。 "Mouse X" 和"Mouse Y" 映射于鼠标,"Fire1", "Fire2" "Fire3"映射于键盘的Ctrl、Alt、Cmd键和鼠标中键或控制器的按钮。新的输入设置可以使用输入管理器来添加。

上面这段代码在手机上生效,在PC上是不会被触发的,它通过触点发射出一道射线与场景中的碰撞体进行检测,如果检测到对象,则调用对象的OnMouseDown函数。那么在PC上,当我们点击一个碰撞体的时候,会直接调用该对象的OnMouseDown回调,所以我们就可以在PC上测试我们的游戏了

本文:Unity3D脚印5——输入的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Wizard 开源文档管理系统1.0发布啦下一篇:

19 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18