Input类可以获取外部操作,鼠标操作,键盘操作等。
鼠标输入:
1、mousePostion :鼠标在屏幕中的位置,左下角为(0,0)的位置,右上角最大。
Input.mousePosition
2、GetMouseButtonDown 鼠标按下 0为左键,1为右键,2为中间键。返回值 Bool 类型
3、GetMouseButtonUp 鼠标按键抬起。
4、GetMouseButton 鼠标一直按着。
5、GetAxis(“Mouse X”)
返回 float 类型
获取鼠标在水平方向上的移动距离
当鼠标在正半轴移动时,得到正数。
当鼠标在负半轴移动时,得到负数。
6、GetAxis(“Mouse Y”)
获取垂直方向上移动距离,具体介绍同上。
代码
鼠标点击操作
if (Input.GetMouseButtonDown(0))
{
print("鼠标左键");
}
if (Input.GetMouseButtonDown(1))
{
print("鼠标右键");
}
if (Input.GetMouseButtonUp(0))
{
print("鼠标左键抬起");
}
if (Input.GetMouseButton(1))
{
print("右键鼠标长按");
}
GetAxis(“Mouse X”)、GetAxis(“Mouse Y”),用一个旋转来看他们效果,当鼠标在屏幕上滑动时,查看游戏对象的旋转。
float x = Input.GetAxis("Mouse X");
float y = Input.GetAxis("Mouse Y");
transform.Rotate(x * 10, y * 10, 0);
键盘输入:
1、GetKeyDown(键盘按键) 键盘按键按下操作
2、GetKeyUp(键盘按键) 键盘按键抬起操作
3、GetKey(键盘按键)键盘一直按着
上面的参数
键盘按键
可以为:
a、.字符串”a”
b、KeyCode ,这里面包含所有的键盘按键,可以搜索文档查看 KeyCode 下的键盘。例如 KeyCode.A
4、GetAxis(“Horizontal”)//用于判断按了键盘上左右方向键,返回-1到1的值
GetAxis(“Vertical”)//用于判断按了键盘上的上下键。返回-1到1的值
代码:
键盘按键操作
if (Input.GetKeyDown("p"))
{
print("p");
}
if (Input.GetKey(KeyCode.Q))
{
print("q");
}
if (Input.GetKeyUp("space"))
{
print("空格键");
}
GetAxis(“Horizontal”),GetAxis(“Vertical”)
打印这两个值,发现当按下方向键时,打印的值会从0.几一直增大到1,或者从-0.几减小到-1
print("水平:"+Input.GetAxis("Horizontal"));
print("垂直"+Input.GetAxis("Vertical"));
官网给的关于这个的用法。
public float speed = 10.0F;
public float rotationSpeed = 100.0F;
void Update() {
float translation = Input.GetAxis("Vertical") * speed;
float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
translation *= Time.deltaTime;
rotation *= Time.deltaTime;
transform.Translate(0, 0, translation);
transform.Rotate(0, rotation, 0);
}