有关unity3d 输入与控制(键盘与鼠标输入控制)

本文介绍了Unity3D中的输入控制,包括键盘输入、鼠标输入和移动设备的触摸控制。详细讲解了Input类的使用,如GetAxis、GetButton等方法,并提供了使用Physics.Raycast进行光线投射的参数说明。同时,给出了鼠标拖拽物体移动的代码实例,展示了如何实现物体在场景中的交互操作。
摘要由CSDN通过智能技术生成

首先我这里先来总结Input类。

键盘控制类:

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

2,如果你使用Input制作某种运动行为可以使用Input.GetAxis方法,它能够返回来自键盘、控制器或鼠标平缓并且可以设置的输入结果。使用Input.GetButton方法只用于像事件之类的动作。不要将它用于移动动作。Input.GetAxis方法可以使脚本代码更简洁。

3,注意:每次输入在"Update()"之前不会再更新,所以建议你将所有的输入调用都写在Update方法中。(Update循环中)

移动设备:

移动设备:

iOS和Android设备能够支持多点触控。你可以通过Input.touches属性集合访问在最近一帧中触摸在屏幕上的每一根手指的状态数据。 

当设备移动时,它们的加速感应器硬件将报告它们在三维空间中沿着三个主轴的线性加速变化数据。你可以使用这些数据检测设备当前的移动方向(相对于地面)和突然间的方向改 变。

硬件沿着某感应一轴加速就会立即返回重力值。如果值为1.0代表沿着给定轴的方向+1g的重力加速度,如果值为-1.0代表-1g的重力加速度。如果你保持设备垂直(主页键在下方)在你正前方,那么X轴就是指向你右侧的方向,Y轴指向正上方,Z轴就是你所面向的方向。

你可以读取Input.acceleration属性获得设备的加速度信息。你也可以使用Input.deviceOrientation属性获取设备在三维空间中的方位偏移。检测方位变化在你想要制作游戏行为中会非常有用,当用户转动设备或拿着设备时它是不同的。

注意:速度感应装置在每一帧中能够轮询多次,想访问上一帧的所有速度样本你可以读取Input.accelerationEvents属性集合。这在重组玩家动作中会非常有用。例如将加速数据放入一个预测器中或者实现其他一些精确的动作捕捉

Class Variables类变量

  •  
    当前所在像素坐标的鼠标位置(只读)。
  • Is any key or mouse button currently held down? (Read Only)
    是否有某一按键或鼠标按钮此时被按住?(只读)
  • Returns true the first frame the user hits any key or mouse button (Read Only).
    在第一帧用户按下某一按键或鼠标按钮,返回true(只读)
  • Returns the keyboard input entered this frame (Read Only).
    返回在这一帧的键盘输入(只读)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值