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

Unity VR游戏弹药显示开发报错:成员名不能与封闭类型相同

错误原因

该报错属于C#语法强制限制:类的成员(变量、方法等)名称不能与所属类的名称完全相同。
你的代码中类名为 ammoText,同时类内部声明了一个Text类型的同名变量,恰好触发了该规则,导致编译失败。

修复方案

只需将类内部的Text变量重命名为不与类名冲突的名称即可,例如修改为ammoUiText,修改后的完整代码如下:

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ammoText : MonoBehaviour
{
    public GameObject weapon;

    // 变量名已修改,避免和类名ammoText重复
    Text ammoUiText;

    void Awake()
    {
        ammoUiText = GetComponent<Text>();
    }
    // Update is called once per frame
    void Update()
    {
        ammoUiText.text = weapon.GetComponent<Gun>().currentBullets.ToString();
    }
}

优化提示:可以将weapon.GetComponent<Gun>()的调用移到Awake方法中提前缓存对应引用,不需要每帧执行GetComponent操作,可降低不必要的性能消耗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:57:02