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

Kev*_*sen 4 c# foreach unity-game-engine

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

我试过以下:

foreach(TowerController go in GameObject.FindGameObjectsWithTag("Tower")) {
        go.upgradeTowerProgress = false;    
    }
Run Code Online (Sandbox Code Playgroud)

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

TowerController是我在带有标签塔的gameObjects上的自定义脚本.

CC *_*Inc 6

这应该工作(未经测试):

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

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