【发布时间】:2016-02-26 16:51:46
【问题描述】:
我目前正在尝试在统一的脚本之间传递一个变量,之前发布的所有问题似乎都无济于事,如果有任何事情比预期的更混淆了这个问题。
我的问题是,我的 PlayerController 脚本中有一个名为 count 的整数,并且在另一个名为 BounceObject 的脚本中需要 count 变量,以便在 if 语句中进行比较。
这是我的播放器控制器脚本,缺少部分代码。
public int count;
void SetCountText()
{
countText.text = "Score: " + count.ToString ();
if (count >= 12)
{
winText.text = "You have won!";
}
}
这是我试图访问计数变量的脚本,名为 BounceObject
public PlayerController script;
void Start()
{
script = getComponent<PlayerController>();
}
void Update()
{
if (script.count >= 8)
{
#Do Stuff here...
}
}
我不确定我的代码是否有错误。作为参考,BounceObject 脚本只能在一个预制件中找到,然后我将其导入到我的游戏中。 count 的整数也会发生变化,因此在 PlayerController 中发生变化时需要在 BounceObject 脚本中进行更新。
非常感谢!
【问题讨论】:
-
PlayerController是BounceObject所附加的同一个游戏对象的组件吗? -
如果您使用 GetComponent,则不得将变量标记为“public”。如果您将变量标记为“public”,则不得使用 GetComponent。 (如果您将其标记为公开,则必须在编辑器中将其拖到插槽中 - 你知道)?
-
难以置信的完整答案:stackoverflow.com/a/35555776/294884
-
@Taelsin 不,它不在同一个游戏对象中