c# - 如何在Unity中通过标签从脚本中获取非实例化的预制件?
问题描述
我用这一行按标签查找所有预制件(这很重要,所以例如我可以创建一个全新的地面平台,它会自动出现在脚本中,而不必手动放入)
ObjectPool[] platformPools;
float[] platformWidths;
void Start()
{
var taggedObjects = Resources.FindObjectsOfTypeAll(typeof(GameObject)).Cast<GameObject>().Where(g => g.CompareTag("Prefabs")).ToArray();
platformPools = new ObjectPool[taggedObjects.Length];
platformWidths = new float[platformPools.Length];
for (int i = 0; i < platformPools.Length; i++)
{
platformPools[i] = gameObject.AddComponent<ObjectPool>();
platformPools[i].PooledObject = taggedObjects[i];
platformWidths[i] = platformPools[i].PooledObject.GetComponent<BoxCollider2D>().size.x;
}
}
问题是,这个脚本在计算机上调试时会找到每个平台,但是一旦我将它加载到手机上,它就只能找到其中一个。
解决方案
推荐阅读
- git - 如何将 GitLab FOSS 从 12.7.5 升级到 12.8.5(综合包)?
- c# - 我在 C# 中创建家谱时遇到了麻烦
- arm - 检测 Thumb-2 指令和 PC 偏移的位置
- matlab - 找到线性系统精确解的最快方法是什么,matlab
- c# - 为什么此 LINQ 表达式返回只有一项的子列表
- redux - Immutable.js:创建一个包含一个元素的列表
- javascript - 触发 Modal 以在 useEffect 挂钩内显示的问题
- javascript - AWS Lambda 函数:无法读取未定义的属性 'logs' 'numberOfPages' 'stream'。包问题或 AWS Lambda 问题?
- html - 如何使用 CSS 隐藏行中的内联元素溢出?
- mysql - 如何允许我的团队成员访问我的 AWS mySQL 数据库?