输入类 --》 输入系统的接口
虚拟轴 定义轴向概念
使用成堆按钮来设置轴的正向或负向的数值,形象对应游戏操纵杆中摇杆或按键在某个方向重的正负最大形成
Edit ->Project Settings -> Input 在属性编辑器中显示输入管理类
可以使用某些定义好的虚拟轴
使用虚拟轴可以使用平滑且可配置的输入效果
在脚本中直接引用虚拟轴的名称
在游戏杆中定义虚拟轴,使其在脚本中使用
e.g. 使物体有驾驶效果
#pragma strict
var speed : float = 100 ; // 前进速度
var rotationSpeed : float = 100.0; //旋转速度
function Update ( ) {
var translation : float = input.GetAxis("Vertical")* speed;var rotation : float = input.GetAxis("Horizontal") * rotationSpeed;
translation *= Time.deltaTime;rotation *= Time.deltaTime;//赋值到移动的物体transform.Translate(0,0,translation);transform.Rotate(0,rotation, 0);
}
GetButton :
使用方式:
Return true while the virtual button identified by buttonName is held down. --》function GetButton(buttonName : String) : boolean
//使用虚拟轴定义
GetKey : (常按事件)
使用方式:
①Return true while user holds the key identified by name.Think auto fire. --》Input.GetKey("up")
②KeyCode --》Input.GetKey(KeyCode.UpArrow);
GetKeyDown : (按下那刻的事件)
使用left/right/up/down等键代替←,→,↑,↓等键,具体如下:
function Update ( ) {
if(Input.GetMouseButtonDown(0))
Debug.Log("您在_"+ Time.time+"时,按下鼠标左键");
if(Input.GetMouseButtonDown(1))
Debug.Log("您在_"+ Time.time+"时,按下鼠标右键");if(Input.GetMouseButtonDown(2))
Debug.Log("您在_"+ Time.time+"时,按下鼠标中键");
if(Input.GetMouseButton(0))
if(Input.GetMouseButtonUp(0))Debug.Log("你一直按着鼠标左键");
Debug.Log("您在_"+ Time.time + "时,抬起鼠标左键");
}
function OnGUI ( )
{
var e : Event = Event.current; //获取当前事件if(e.button == 0 && e.isMouse){
Debug.Log("Left Click");
} else if(e.button == 1 && e.isMouse){
Debug.Log("Right Click");
} else if(e.button == 2 && e.isMouse){
Debug.Log("Middle Click");
} else if(e.button > 2 && e.isMouse){
Debug.Log("Another button in the mouse clicked");
}if(e.isMouse && (e.clickCount == 2)){
Debug.Log("用户双击鼠标");
}
}