public class Lesson11 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
//输入相关内容都是卸载Update中的
#region 鼠标在屏幕上的位置
//获取位置
//屏幕坐标原点在屏幕左下角,往右是X正轴,网上是Y正轴
print(Input.mousePosition);
#endregion
#region 检测鼠标输入
//鼠标按下的时候执行,按下的时候执行一次
//参数0是左键,1是右键,2是中键
if(Input.GetMouseButtonDown(0))
{
print("鼠标左键按下");
}
//鼠标放开的时候执行一次
if(Input.GetMouseButtonUp(1))
{
print("鼠标右键放开");
}
//鼠标长按会执行,只要按住就会一直执行
if (Input.GetMouseButton(2))
{
print("按住鼠标右键");
}
//中键滚动
//返回值的是一个Vector2,滚动中键会改变Y值
//返回的Y值,-1是往下滚动,0是无滚动,1是往上滚动
print(Input.mouseScrollDelta);
#endregion
#region 检测键盘输入
//键盘按下 KeyCode
if(Input.GetKeyDown(KeyCode.W))
{
print("按下W键");
}
//传入的字符串,不能是大写
if (Input.GetKeyDown("q"))
{
print("按下Q键");
}
//放开按键
if(Input.GetKeyUp(KeyCode.S))
{
print("放开S键");
}
//键盘长按
if( Input.GetKey(KeyCode.D))
{
print("长按D键");
}
#endregion
#region 检测默认轴输入
//鼠标键盘输入主要是用于控制玩家的行为
//所以unity提供了更加方便的方法来帮助实现控制玩家的行为
//键盘按下AD时返回-1到1之间的值
//通过这个返回值控制对象的行为
Input.GetAxis("Horizintal");
//键盘按下WS时返回-1到1之间的值
Input.GetAxis("Vertical");
//鼠标左右移动时返回-1到1之间的值
Input.GetAxis("Mouse X");
//鼠标下上移动时返回-1到1之间的值
Input.GetAxis("Mouse Y");
//GetAxisRaw方法和GetAxis使用方式相同,但是GetAxis的返回值只有-1,0,1,不会有中间值
#endregion
#region 其他
//是否有任意键或者鼠标长按
if(Input.anyKey)
{
print("有按键长按");
}
//是否有任意键或者鼠标按下
if (Input.anyKeyDown)
{
print("有按键按下");
}
//这一帧的键盘输入
print(Input.inputString);
//手柄输入相关
//得到链接的手柄的所有按钮名字
string[] strs = Input.GetJoystickNames();
//手柄按下
if(Input.GetButtonDown("Jump"))
{
}
//手柄放开
if (Input.GetButtonUp("Jump"))
{
}
//手柄长按
if (Input.GetButton("Jump"))
{
}
//移动设备触摸相关
if(Input.touchCount>0)
{
Touch t1 = Input.touches[0];//第一次触屏
//位置
print(t1.position);
//相对位置变化
print(t1.deltaPosition);
}
//是否启用多点触控
Input.multiTouchEnabled = false;
//陀螺仪
//启用陀螺仪
Input.gyro.enabled = true;
//重力加速度向量
print(Input.gyro.gravity);
//旋转速度
print(Input.gyro.rotationRate);
//陀螺仪 当前的旋转四元数
print(Input.gyro.attitude);
#endregion
}
}