unity3d - 统一获取变换列表
问题描述
我正在尝试获取生成系统的转换列表。我尝试将 GameObject.FindGameObjectsWithTag 与数组而不是列表一起使用,看起来数组需要是 GameObjects 而不是变换,因为这就是它要寻找的。我还尝试了另一段代码,但它只将一个随机变换返回到一个列表中,这里是:
public List<Transform> t;
void Start()
{
t.Add(GameObject.FindWithTag("Spawn").transform);
}
正如您在我的代码中看到的那样,它只会将一个转换添加到我的列表中。我想添加多个变换而不是一个。
解决方案
你可以像使用LinqSelect
using System.Linq;
...
public List<Transform> t;
void Start()
{
t = GameObject.FindGameObjectsWithTag("Spawn").Select(go => go.transform).ToList();
}
这基本上有点等于做
t = new List<Transform>();
foreach(var go in GameObject.FindObjectsWithTag("Spawn"))
{
t.Add(go.transform);
}
推荐阅读
- c++ - 使用 OpenCV 4.2 时无法编译 QT 应用程序
- python - 为循环创建列表列表
- react-native - onLongPress 触发器而不是 onPress 用于单击
- node.js - 在单个查询中从三个不同的不相关集合中检索数据
- python - 获取基于 pandas 中两行的值作为新行
- sql - SQL - 基于过滤器聚合列
- python - 如何为序列中的特定选择生成种子值
- android - 使用 CameraX 拍摄视频 - setLensFacing() 未解决
- java - XmlPullParser 从 START_DOCUMENT 跳转到 END_DOCUMENT eventType
- kubernetes - 如何通过 kubernetes api 删除标签?