Unity使用InputSystem时CallbackContext编译错误问题求助(已自行修复)
Unity InputSystem 移动功能调试问题已解决
更新说明
已修复OnDisable和OnEnable方法的括号问题,后续出现的编译错误也已自行解决,感谢各位的帮助。
原问题描述
断断续续尝试让Unity中的移动功能正常工作已有约一个月,不管看什么教程、查什么资料都屡屡碰壁。目前常见的实现方法是手动编写使用InputAction.CallbackContext的移动处理函数,但我在用InputSystem时,完全找不到相关问题的参考资料,根本不知道自己哪里出错、该从何入手修复。
调试用代码
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; public class Controls : MonoBehaviour { private PlayerControl control = null; private Vector2 move = Vector2.zero; private void Awake() { control = new PlayerControl(); } private void OnEnable() { control.Enable(); control.Land.Move.performed += Move; control.Land.Move.canceled += MoveEnd; } private void OnDisable() { control.Disable(); control.Land.Move.performed -= Move; control.Land.Move.canceled -= MoveEnd; } private void FixedUpdate() { Debug.Log(move); } private void Move(InputAction.CallbackContext context) { move = context.ReadValue<Vector2>(); } private void MoveEnd(InputAction.CallbackContext callback) { move = Vector2.zero; } }
内容的提问来源于stack exchange,提问作者Doombread
相关产品推荐
相关产品推荐

