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

本文关键字:对象 脚本 访问 Unity | 更新日期: 2023-09-27 17:56:02

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

我尝试了以下方法:

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

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

控制器是我在带有标签塔的游戏对象上的自定义脚本。

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

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

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

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