如何在 Unity c# 中设置自定义类数组

本文关键字:设置 自定义 数组 Unity | 更新日期: 2023-09-27 18:37:08

我正在尝试创建一个类并声明该类的数组。

下面是 C# 代码:

using UnityEngine;
using System.Collections;
public class gameControl : MonoBehaviour {
public GameMaster[] allTile;
public class GameMaster {
    public GameObject block;
    public GameMaster (GameObject thisBlock){
        block = thisBlock;
    }
}
void Start () {
    GameObject[] allBlocks = GameObject.FindGameObjectsWithTag("Player");
    for (int i = 0; i < allBlocks.Length; i++){
        Debug.Log (allBlocks[i].name);
        GameMaster thisGameObj = new GameMaster(allBlocks[i]);
        allTile[i] = new GameMaster(thisGameObj);
    }
}
}

当我运行脚本时,我遇到以下错误消息:

错误 CS1502:'gameControl.GameMaster.GameMaster(UnityEngine.GameObject)'的最佳重载方法匹配有一些无效参数 (CS1502) (Assembly-CSharp)

我相信这应该是我声明 GameMaster 数组或在循环中访问它的方式。想知道是否有人可以指出我的错误。

如何在 Unity c# 中设置自定义类数组

GameMaster类有一个构造函数,该构造函数将类型为 GameObject 的对象作为参数。在以下代码行中:

GameMaster thisGameObj = new GameMaster(allBlocks[i]);
allTile[i] = new GameMaster(thisGameObj);

最初创建一个GameMaster对象,然后将此对象传递给 GameMaster 的构造函数,这是不正确的。