两种方法调用其它脚本中的变量
1、使用单例(尽量少用)
使用"public static 类名"语句,如:
public class Test : MonoBehaviour
{
//属性值
public int Score = 0;
public bool isDead;
//单例
public static Test instance;
public static Test Instance
{
get
{
return instance;
}
set
{
instance = value;
}
}
那么在需要调用这一脚本中的变量时可以直接使用“Test.Instance.变量名”(注意变量类型为public),如:
Test.Instance.Score++;
2、使用公共变量
如果有以下脚本:
using UnityEngine;
public class ScriptB : MonoBehaviour
{
public void Count()
{
for(int i = 0; i < 11; i++)
{
count = count + i;
}
return count;
}
}
在ScriptA中如果要访问某个GameObject的ScriptB脚本中的DoSomething函数:
using UnityEngine;
public class ScriptA : MonoBehaviour
{
public ScriptB other;
void Update()
{
other.Count();
}
}
注意:
1、方法1使用单例时需注意变量类型为public,使用private变量可能报错,如果使用较多可能导致代码维护难度升高;
2、方法2使用公共变量,在发生多个GameObject碰撞体时有可能产生被调用的类中变量还 未实例化。