我不断收到此错误:
Assets / PlayerScript.cs(220,35):错误CS0120:对象引用为 需要访问非静态成员“ Generate.seed”
使用以下代码:
using (StreamWriter sw = new StreamWriter("file.txt"))
{
sw.WriteLine(Generate.seed);
}
我在Generate.cs中声明:
public int seed;
答案 0 :(得分:1)
您可以使用对Generate
实例的对象引用
在Unity中,您通常可以使用例如通过检查器获取
// in the Inspector reference the according component via
// drag&drop the object to this field
public Generate GenerateReference;
或使用GetComponent
(如果组件已连接到同一对象)
var GenerateReference = GetComponent<Generate>();
或者是否在其他物体上
var GenerateReference = anotherObjectReference.GetComponent<Generate>();
当然,现在您必须先获得anotherObjectReference
。
比您使用GenerateReference.seed
还要好。
另请参阅Controlling GameObjects using components
或者将seed
设为
public static int seed;
为了将其转换为非实例成员,本身就是类型Generate
的成员,并继续使用Generate.seed
。用简单的话来说,所有Generate
组成的share
都具有相同的seed
值。