我目前正在尝试在一个脚本之间传递一个变量,并且之前发布的所有问题似乎都无济于事,如果有任何事情让这个问题比预期的更加混乱。
我的问题是,我的PlayerController脚本中有一个名为count的整数,而另一个名为BounceObject的脚本需要count变量,以便在if语句中进行比较。
这是我的播放器控制器脚本,缺少部分代码。
public int count;
void SetCountText()
{
countText.text = "Score: " + count.ToString ();
if (count >= 12)
{
winText.text = "You have won!";
}
}
这是我试图访问count in变量的脚本,名为BounceObject
public PlayerController script;
void Start()
{
script = getComponent<PlayerController>();
}
void Update()
{
if (script.count >= 8)
{
#Do Stuff here...
}
}
我不确定我是否在代码中犯了错误。作为参考,BounceObject脚本只能在预制件中找到,然后我会导入到我的游戏中。 count的整数也将发生变化,因此在PlayerController中更改时需要在BounceObject脚本中进行更新。
非常感谢!
答案 0 :(得分:2)
假设您的PlayerController
位于与BounceObject
脚本不同的对象上,则需要指定要从中获取组件的游戏对象。如果你给你的玩家对象一个只有你可以做到的标记:
public PlayerController script;
void Start() {
script = GameObject.FindWithTag("Player1").GetComponent<PlayerController>();
}
否则,在获取其PlayerController
脚本之前,您需要使用不同的方法来获取玩家游戏对象。
我使用的参考文献:FindWithTag和GetComponent