You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:07:07