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

Unity添加触摸控制报错:旧Input类与新输入系统设置冲突

解决Unity旧Input系统代码与输入处理模式冲突的错误

错误原因

你遇到的InvalidOperationException核心问题是:Player Settings里的激活输入处理模式仍设为新Input System,但代码中使用的是旧的UnityEngine.Input类——哪怕你已经从包管理器移除了新Input System包,这个设置不会自动还原,导致两者不匹配触发报错。

解决步骤

  • 打开Player Settings:顶部菜单栏点击 Edit → Project Settings,左侧选择Player
  • 找到Other Settings板块,定位到Active Input Handling选项
  • 将其改为Input Manager (Old),重启Unity后设置生效

优化触摸输入逻辑(可选)

原代码里Input.touchCount > 0会在触摸持续按住时不断触发,导致角色一直上升,不符合Flappy Bird的操作逻辑,建议改成仅检测触摸开始的状态:

using UnityEngine;

public class playerScript : MonoBehaviour
{
    Rigidbody2D rb;
 
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        // 检测鼠标左键点击 或 新触摸开始
        if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began))
        {
            rb.velocity = new Vector2(0f, 7f);
        }
    }
}

内容的提问来源于stack exchange,提问作者user16223274

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:39:13