Debug.Log("按下:"+UnityEngine.InputSystem.Mouse.current.position.ReadValue()); }; inputAction.Gameplay.MouseDrag.performed+=ctx=> { Debug.Log("拖拽:"+UnityEngine.InputSystem.Mouse.current.position.ReadValue()); }; inputAction.Gameplay.MouseUp.performed+=ctx=> { Debug.Log("抬起:"+UnityEngine...
1Input.mousePosition 在使用InputSystem情况下,获取鼠标在屏幕的位置 usingUnityEngine.InputSystem; Mouse.current.position.ReadValue(); 比如在UGUI背包上拖动UI物品时,就可以在物品OnDrag方法中 1publicvoidOnDrag(PointerEventData eventData)2{3transform.position =Mouse.current.position.ReadValue();4} 这样物品就...
public GraphicRaycaster m_Raycaster; //拖拽获取 public EventSystem m_EventSystem; private PointerEventData m_PointerEventData; public void OnMouseDown(InputAction.CallbackContext context) { if (context.phase == InputActionPhase.Performed) {//方法1 //Set up the new Pointer Event PointerEventData m_P...
首先Window->Package Manager,搜索Input System安装。 2. Edit->Project Settings->Player->Other Settings->Active Input Handling,改成new或者both。 3. Unity的Project中右键->Create->Input Actions。 4. Action Maps取名,如Player。Actions右边小“+”添加New action,取名如:Action_Move,表示鼠标移动。此时对应P...
鼠标的位置 在项目的InputAction中添加鼠标按下的Action: Action Type : Button 然后在摄像机控制脚本中添加unity event: 别忘了在Input Manager中指定事件哦 此处提供两种获取鼠标的位置的方式:一种是用Input System直接读取鼠标的位置(适用于不需要将鼠标移回去的场合);另一种则使用Win32 api(在下一章节展示)。
1. 在项目设置中,将Active Input Handling 设置为new 或者both。2. 在Unity项目中,右键创建Input Actions。3. 定义Action Maps,例如Player。在Actions中添加新动作,命名为Action_Move,表示鼠标移动。设置Action Type为Pass Through,Control Type为Vector 2。然后添加绑定,鼠标位置到Positions。4. 设置...
与InputManager不同的是,InputSystem按照其新的输入系统框架标准来为我们将每种设备各自构建为一个类。如键盘-Keyboard类、鼠标-Mouse类、手柄-GamePad类。 得益于新版输入系统的框架设计,我们可以主动的直接获取到我们设备的状态了。 代码如下: 温馨提示:
最后就是鼠标位置和滚轮的数据获取。 鼠标位置对比 旧版:Input.mousePosition; 新版:Mouse.current.position; 滚轮对比 旧版: Input.GetAxis("Mouse ScrollWheel"); 新版:Mouse.current.scroll.ReadValue(); 滚轮这个地方要稍微注意一点,旧版的会直接返回一个float的值,而新版本则会返回Vector2,如果想返回float请使用...
创建一个新的 InputAction。 编写脚本处理输入:创建一个 C# 脚本,处理鼠标点击事件。 编写脚本处理输入:创建一个 C# 脚本,处理鼠标点击事件。 将脚本附加到游戏对象:将 MouseClickHandler 脚本附加到一个游戏对象上,并在 Input System 设置中将该 InputAction 绑定到该游戏对象。
也可以绑定多个按键对应不同的操作设备,笔者映射的第二个按键为鼠标左键 完成上述操作后点击Save Asset保存当前映射表,这样做可以绑定多个物理输入得到的输入值也只会影响同引用的 Action 对象。 通过代码监听映射表中的按键 创建测试脚本TestInputSystem(命名可随意),我们需要使用之前的 TestInputControls ,通过监听 sta...