c# - 如何将变量传递给unity c#中的多个对象

How can I pass variables to multiple objects in unity c#

主摄像头有 "variable1" 来自 Script1

public int variable1;

将创建实例的多个多维数据集将共享具有 "variable2"

的 Script2
public int variable2;

我尝试使用它作为在需要时获取变量的方法,它不是在启动或唤醒时而是通过特定操作。

public int variable2;  // on the cube
public GameObject mainCamera; // I set this in the editor
public void main() {
    variable2 = mainCamera.GetComponent <cameraScript> ().variable1;
}

因为我会有很多变量,所以如何在不引用特定变量的情况下设置变量 2?我可以用标签来做吗?

你是说你想一次性改变所有cube中variable2的值吗?我假设你想让这个 variable2 的值是统一的。

如果是,为什么不将 variable2 设为 static 变量?因为它将在整个项目中共享 Script2 类 之间的值。

例如,

在你的 Script2.cs 上:

public static int variable2;

因此您可以在一行中为示例脚本中的所有多维数据集更改 variable2 的值:

Script2.variable2 = mainCamera.GetComponent <cameraScript> ().variable1;