在Unity中使用标记访问所有对象上的脚本

时间:2013-01-25 08:05:40

标签: c# foreach unity3d

我的问题很简单,如何通过foreach访问我的gameobjects自定义C#脚本。

我试过以下:

foreach(TowerController go in GameObject.FindGameObjectsWithTag("Tower")) {
        go.upgradeTowerProgress = false;    
    }

似乎不起作用。不知道为什么,这就是我在这里问的原因!的xD

TowerController是我在带有标记塔的游戏对象上的自定义脚本。

1 个答案:

答案 0 :(得分:6)

这应该有效(未经测试):

foreach(GameObject go in GameObject.FindGameObjectsWithTag("Tower")) {
        go.GetComponent<TowerController>().upgradeTowerProgress = false;    
    }

我改变的是你正在迭代一个GameObject数组,所以你需要做foreach(GameObject go...,然后使用GetComponent函数来获得TowerController类型的组件然后你可以访问它的updateTowerProgressTHIS页面始终是一个很好的参考。