unity3d 我收到“'GameObject[]'不包含'length'的定义“错误,我不知道问题出在哪里

j0pj023g  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(701)

我第一次为一个游戏艺术课编写一个Unity游戏,并且已经找到了一些很适合我的目的的代码。
目的是结束游戏,并过渡到一个不同的场景时,所有的敌人都走了(我会有一个固定的数字,虽然我在寻找学习如何生成一个随机数的特定对象与特定的属性)。
但是,我不断收到此错误:
资产\代码\游戏赢家.cs(14,21):错误CS1061:'GameObject[]'不包含'length'的定义,而且找不到可接受'GameObject[]'型别第一个参数的可存取扩充方法'length'(您是否遗漏using指示词或组件指涉?)
然而,我找不到这些行中的问题所在,也不知道我错过了什么,因为我不知道如何用c++编码,更不用说unityc ++了。更糟糕的是,我的老师知道的比我还少,所以他不能在这个特定的领域提供帮助(他从来没有在游戏创作的编码/脚本端工作过)
所以,我想知道你们中是否有人能发现发生了什么以及如何发现。这是我正在查看的代码。(如果你们中有人需要查看我拥有的任何其他脚本,请告诉我)。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GameWinner : MonoBehaviour
{
    // Start is called before the first frame update
    public GameObject[] enemies;

    void Update()
    {
        enemies = GameObject.FindGameObjectsWithTag("Enemy"); // Checks if enemies are available with tag "Enemy". Note that you should set this to your enemies in the inspector.
        if (enemies.length == 0)
        {
            SceneManager.LoadScene(2); // Load the scene with name "OtherSceneName"
        }
    }
}
uyto3xhc

uyto3xhc1#

c#区分大小写。

if(enemies.Length == 0)
{
    ...
}

剖析错误消息:

编程几乎是阅读一切的另一个词,很多和更多,并作为一个永无止境的故事。
Assets\code\GameWinner.cs(14,21): error CS1061: 'GameObject[]' does not contain a definition for 'length' and no accessible extension method 'length' accepting a first argument of type 'GameObject[]' could be found (are you missing a using directive or an assembly reference?)

  • Assets\code\GameWinner.cs

发生错误的文件:

  • (十四、二十一)

错误所在的行号和列号:

  • 错误CS1061

错误号,您可以在learn.microsoft.com/.../compiler-messages中查找这些错误号

  • '游戏对象[]'

发生错误时调用的类型

  • '长度'

错误的部分

  • (是否缺少using指令或程序集引用?)

只是一个提示,在这种情况下,“长度”是未知的,但你可以通过列表中未提到的错误消息的所有部分来阅读。
例如:...不包含...的定义,并且找不到可访问的扩展方法...,该方法接受类型为...的第一个参数。

相关问题