Input

监听键盘按键输入

  • 监听某个键是否按下 (代码与注释)
  • 监听按键的单次触发 (代码与注释)
  • 监听组合键的触发 (代码与注释)
  • 监听组合键的单次触发 (代码与注释) -注意事项
    • 按键监听使用的是轮询的方式监听按键是否按下,所有这个监听代码要写到Update中。

监听键盘输入轴值

  • 我们可以定义功能互为相反的两组键,按下正键的时候返回1,按下反键的时候返回-1,如果正反键都没按下返回0。这个返回值我们叫轴值。
  • 系统为我们定义好了一些常用的轴,在Edit-ProjectSetting-Input中设置。 (设置界面截图)
  • 比如Horizontal轴中,右键是正键,左键是反键。D键是右键的替代键,A键是左键的替代键。按下D键和按下右键功能是一样的。 (Horizontal轴的设置属性截图)
  • 监听按键轴值 (代码和注释)// 按下右或D时返回1,按下左或A时返回-1,不按这些键返回0。
  • GetAxis获取的轴值不是直接从0变为1的,而是有一个中间的变化过程。
  • Demo 控制坦克旋转和移动 (代码和注释)// (移动时 Vector3.forward speedMove Time.deltaTime * v 4部分的含义)

监听功能键输入

  • 我们可以定义一个功能键(比如开火键),并允许用户修改这个功能对应的按键。
  • 首先我们要在Edit-ProjectSetting-Input中先定义好我们需要的功能键,系统以及帮我们定义好了开火、跳跃等功能键。
  • 监听功能键输入 (代码和注释)

监听鼠标输入

  • 监听鼠标按键 (代码和注释)// 参数0表示左键,1表示右键,2表示中键。
  • 监听鼠标位置 (代码和注释)
    • 返回的坐标是以左下角为原点的二维屏幕坐标系
    • 返回Vector3只是为了保持3D游戏开发的一致性,其z值总是0。