using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
public class Test_input_System : MonoBehaviour
{
public Mycontrols inputActions;
// Start is called before the first frame update
void Start()
{
//Mycontrols 自定义Actions类,内涵多个输入函数,每次更新时要apply,或者auto更新
inputActions = new Mycontrols();
inputActions.Enable();
//vector2 Move-Actions : 可以自定义四个键模拟(此处添加wsad的键) Input.GetAxis("horizontal")||Input.GetAxis("Vertical"),返回值vector2波动较大,以1递增递减
inputActions.Player.Move.performed += ctx =>
{
print("Move:" + ctx.ReadValue<Vector2>());
transform.Translate(ctx.ReadValue<Vector2>());
};
//vector2 MouseDown-Actions :自定义MouseDown名称,可以添加任意键,这块模拟添加鼠标左键按下的事件
inputActions.Player.MouseDown.performed += ctx =>
{
print("按下position:" + UnityEngine.InputSystem.Mouse.current.position.ReadValue());
};
//vector2 MouseDrag-Actions :自定义MouseDrag名称,返回鼠标位置
inputActions.Player.MouseDrag.performed += ctx =>
{
print("拖拽position:" + ctx.ReadValue<Vector2>());
};
//vector2 MouseUp-Actions :自定义MouseUp名称,可以添加任意键,这块模拟添加鼠标左键抬起的事件
inputActions.Player.MouseUp.performed += ctx =>
{
print("释放position:" + UnityEngine.InputSystem.Mouse.current.position.ReadValue());
};
//vector2 GetAxis_arrow-Actions : 可以自定义四个键模拟(此处添加↑↓←→arrow的键) Input.GetAxis("horizontal")||Input.GetAxis("Vertical"),返回值vector2波动较大,以1递增递减
inputActions.Player.GetAxis_arrow.performed += ctx =>
{
print("GetAxis-position:" + ctx.ReadValue<Vector2>());
};
//老的输入模式-1~1 以0.1递增
float x_input_old = Input.GetAxis("Mouse X");
float y_input_old = Input.GetAxis("Mouse Y");
//新的替代 以1为增量鼠标偏移量
float x_inputSystem =Mouse.current.delta.ReadValue().x ;
float y_inputSystem = Mouse.current.delta.ReadValue().y;
//旧的长按鼠标左键
if (Input.GetMouseButton(0))
{
}
//新的长按鼠标左键
if (Mouse.current.leftButton.isPressed)
{
}
//**********************************
//旧的按下鼠标右键
if (Input.GetMouseButtonDown(1))
{
}
//新的按下鼠标右键
if (Mouse.current.rightButton.wasPressedThisFrame)
{
}
//**********************************
//旧的抬起鼠标中键
if (Input.GetMouseButtonUp(2))
{
}
//新的抬起鼠标中键
if (Mouse.current.middleButton.wasReleasedThisFrame)
{
}
//新的长按鼠标中键
if (Mouse.current.middleButton.isPressed|| Mouse.current.middleButton.ReadValue()>0.5f)
{
}
//新的长按space键
if (Keyboard.current.spaceKey.isPressed)
{
}
//旧鼠标位置
Vector3 vector3= Input.mousePosition;
//新鼠标位置
Vector3 vector3_new = Mouse.current.position.ReadValue();
//旧版api,返回为float值,默认为0.1,往前为+0.1,往后为-0.1
float scroll_value = Input.GetAxis("Mouse ScrollWheel");
//获取鼠标滚轮值,新输入系统为Vector2,滚动一下默认是(0,+120),正为往前,负为往后
float scroll_value_new = Mouse.current.scroll.ReadValue().y;
}
private void Update()
{
//新的长按鼠标中键
if (Mouse.current.middleButton.ReadValue() > 0.5f)
{
print("999");
}
}
}