如何在 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 数组或在循环中访问它的方式。想知道是否有人可以指出我的错误。
GameMaster
类有一个构造函数,该构造函数将类型为 GameObject
的对象作为参数。在以下代码行中:
GameMaster thisGameObj = new GameMaster(allBlocks[i]);
allTile[i] = new GameMaster(thisGameObj);
最初创建一个GameMaster
对象,然后将此对象传递给 GameMaster 的构造函数,这是不正确的。