Unity3d 统一2D。空引用异常问题

Unity3d 统一2D。空引用异常问题,unity3d,Unity3d,NullReferenceException:对象引用未设置为对象的实例 CombatBehavior.fixeUpdate()(位于Assets/Scripts/CombatBehavior.cs:92) NullReferenceException:对象引用未设置为对象的实例 CombatBehavior.fixeUpdate()(位于Assets/Scripts/CombatBehavior.cs:94) gameObject.GetComponent().DealDmg(); game

NullReferenceException:对象引用未设置为对象的实例 CombatBehavior.fixeUpdate()(位于Assets/Scripts/CombatBehavior.cs:92)


NullReferenceException:对象引用未设置为对象的实例 CombatBehavior.fixeUpdate()(位于Assets/Scripts/CombatBehavior.cs:94)

gameObject.GetComponent().DealDmg();
gameObject.GetComponent().DealDmgToSkeleton();

您好,我遇到了NullReference异常的问题。谁能解释一下我做错了什么。作为免责声明,我想告诉大家有两行代码是有效的,但我想改进我的一些代码,所以我最后用ctrl+z-ing组合键把一切都搞糟了。但不幸的是它已经消失了。。。Unity仍然告诉我有空值

我试图通过如下设置来解决这个问题:

        GameObject player = GameObject.Find("Player");
    DamageDeal damageDeal = player.GetComponent<DamageDeal>();
    damageDeal.DealDmg();

    DamageDealToSkeleton damageDealToSkelet = player.GetComponent<DamageDealToSkeleton>();
    damageDealToSkelet.DealDmgToSkeleton();
gameobjectplayer=GameObject.Find(“player”);
DamageDeal DamageDeal=player.GetComponent();
damageDeal.DealDmg();
DamageDealToSkeleton damageDealToSkelet=player.GetComponent();
dealdmgtoskelet.DealDmgToSkeleton();
在我的游戏中,对象播放器->CombatBehavior.cs->修复更新。
这是一个生死攸关的问题。

您确定在执行ctrl+z操作后,脚本仍在对象上吗? 所有东西都拼写正确吗?区分大小写

根据你所介绍的,我觉得这是我们唯一要做的事情。
三重检查:)

看起来您有点正确-现在我没有空引用(目前),但是。。。我有两种敌人,你能看看我的代码,告诉我区别在哪里吗?我现在不知道我在干什么。提前,谢谢你抽出时间。它们都有两个(DamageDeal起作用,第二个不起作用)你不再得到空引用,但是现在的问题是什么呢?还有。不是每个敌人都有伤害脚本,而是只考虑一个,并给每个敌人一个标签,然后使用那个标签在脚本内部循环。在MaDaGeDealToSkelon中:单一行为有一个函数,称为DeldMgToSkEngon(),当我攻击那个骨架时,我得到了引用,它只读取了我的第一个Debug.Log,但没有造成损坏。正如您在代码示例中所看到的,根据您所知道的事实,attackPosSkelet.gameObject.activeSelf不是真的。尝试进行一些调试,看看哪里出错(例如,尝试记录attackPosSkelet、attackPosSkelet.gameObject和attackPosSkelet.gameObject.activeSelf,看看是否所有设置都正确)。显然,在国际单项体育联合会之前
        GameObject player = GameObject.Find("Player");
    DamageDeal damageDeal = player.GetComponent<DamageDeal>();
    damageDeal.DealDmg();

    DamageDealToSkeleton damageDealToSkelet = player.GetComponent<DamageDealToSkeleton>();
    damageDealToSkelet.DealDmgToSkeleton();