有条件地更改UI面板

时间:2019-03-06 03:35:20

标签: c# user-interface unity3d

试图寻找答案已有一个多星期了。我尝试了多种不同的方式,但我一定做错了。这是场景。我已经设置好游戏了。它是一个类似于合并飞机的2D统一游戏。我有执行所有播放器管理的代码,例如xp,gold和升级(称为LevelManager)。我也有一个UI面板设置,可以在游戏主屏幕上单击按钮时加载。可以说它就像库存。我想做的就是这个。单击按钮后,我希望面板根据播放器级别加载不同的精灵。想象一下,如果一个玩家是1级,面板上的bg子画面应该显示一个图像,除了第一个项目外,其他所有项目都被涂黑。然后,如果玩家的等级为2,则第二个玩家已解锁并且现在可见。我已经尝试了所有示例,例如1)精灵数组2)使用静态3)实例化面板4)使用按钮上的onclick甚至监听器。如果有人能够帮助我实现这一目标,我将不胜感激。请帮助我分解它,以便我了解发生了什么。生病的人需要知道什么代码行是最好的,我要将代码应用到哪些对象以及所有这些好东西。让我们回到基础。先感谢您。 尼尔

1 个答案:

答案 0 :(得分:0)

在不看代码的情况下很难为您提供帮助,但我建议您执行以下操作:
假设每个级别都有不同的背景图像,请将它们按列表或数组排序,然后根据播放器的级别加载它们。将会是这样的: private void Start{ //backgrounds = your backgrounds array / list Instantiate(backgrounds[player.level-1], transform.position, transform.rotation); }

但是同样,如果不查看代码,很难知道。