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

Unity 2D开发新手遇CS7036错误:SkeletonGroundedState参数缺失求助

解决Unity C#错误CS7036:缺少构造函数必填参数

错误核心原因

报错Assets\SkeletonIdle.cs(10,120): error CS7036: There is no argument given that corresponds to the required formal parameter 'enemy' of 'SkeletonGroundedState.SkeletonGroundedState(Enemy, EnemyStateMachine, string, Enemy_Skeleton)'的本质是:你在SkeletonIdle.cs第10行调用SkeletonGroundedState的构造函数时,没有传入该构造函数要求的必填参数enemy。该构造函数需要按顺序传入4个参数:Enemy类型实例、EnemyStateMachine类型实例、状态名称字符串、Enemy_Skeleton类型实例,你当前的调用缺失了第一个参数。

具体修正步骤

  1. 定位SkeletonIdle.cs第10行中实例化SkeletonGroundedState的代码片段。
  2. 获取当前敌人对象上的Enemy组件引用(比如通过GetComponent<Enemy>()),或者使用已定义的Enemy类型变量。
  3. 补全构造函数调用的参数,确保参数数量、类型、顺序与构造函数定义完全匹配。示例修正代码:
    // 假设enemyComp是获取到的Enemy类型实例,stateMachine是已定义的状态机变量
    SkeletonGroundedState idleState = new SkeletonGroundedState(enemyComp, stateMachine, "idle", this);
    

额外调试提示

  • 打开SkeletonGroundedState类的定义文件,再次核对构造函数的参数列表,确保传入的每个参数类型都对应一致。
  • 若使用继承实现状态类,确认父类构造函数的参数要求是否与子类一致,避免参数传递遗漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 00:18:13