【发布时间】:2019-03-06 12:44:36
【问题描述】:
所以这与我提出的另一个问题一致,但我采取了不同的路线。我的问题是在这个脚本中,我正在从 LevelManager 脚本中找到玩家的等级。我将为每个玩家级别使用不同的面板,并随着级别的增加使它们处于活动状态。不是我理解的最好方式。我遇到的问题是此脚本中的级别没有更新为我的其他脚本中的 currentLevel,因此面板没有打开,因为级别始终为 0。感谢任何帮助。尼尔
public GameObject Panel1;
public GameObject Panel2;
public GameObject Panel3;
public GameObject levelscript;
public int level;
public void Start()
{
GameObject scoreEventTrigger = GameObject.Find("ScoreEventTrigger");
LevelManager levelManager = scoreEventTrigger.GetComponent<LevelManager>();
level = levelManager.currentLevel;
}
public void OpenPanel1()
{
if (level == 1)
{
if (Panel1 != null)
{
Panel1.SetActive(true);
}
}
}
public void OpenPanel2()
{
if (level == 2)
{
if (Panel2 != null)
{
Panel2.SetActive(true);
}
}
}
}
【问题讨论】:
-
这看起来不错。您确定您在
LevelManager中正确调整currentLevel吗? -
感谢您回复@AliKanat。是的,分数在游戏中完美调整。只是不在此脚本附加到的按钮上。
标签: c# user-interface unity3d