Unity:GameObject.FindGameObjectWithTag无效,我不知道为什么

时间:2015-06-20 18:32:58

标签: unity3d

我有一个敌人的AI脚本,而且一小部分代码无效。当目标不再存在时,它应该使用Player标记搜索游戏对象。因此,当玩家收集电源并且新的播放器预制件在其位置产生时,它将搜索。但是,它找不到一个,我不知道为什么。

以下是代码中不起作用的部分:

    IEnumerator SearchForPlayer (){
    GameObject sResult = GameObject.FindGameObjectWithTag ("Player");
    if (sResult = null) {

                    yield return new WaitForSeconds (0.5f);
                    StartCoroutine (SearchForPlayer ());
            }
        else {
            target = sResult.transform;
            searchingForPlayer = false;
            StartCoroutine (UpdatePath());
            return false;
        }
            }

我知道我的预制件有正确的标签,而且它肯定会进入剧本的那一部分。有没有人有任何想法为什么它不工作?

1 个答案:

答案 0 :(得分:1)

if (sResult = null) {

应该是

 if (sResult == null) {

Single =是赋值运算符,因此您将结果设置为null,而不是检查它是否为空。