UI初步完成后,我们将进一步介绍引擎的高级特性。我们将在游戏暂停时调用暂停事件,借助“Is Valid”来检查有效性并控制菜单的开关状态,在显示暂停菜单时使用自定义事件来隐藏我们的玩家界面。
1、重复出现暂停界面,有两种方法解决。
(1)检查控件是否已经存在。使用此方法。或者你可以添加一个布尔值,通过它了解暂停界面,当前是否已经显示,你还可以检查我们是否使用了“Set Game Paused”按钮,
最简单的方法就是检查有效性,每当我们按下暂停键时,我们就要检查是否已经创建了暂停菜单,为此,我们要为暂停菜单创建一个引用。
(2)另一种逻辑时检查是否创建了暂停界面,如果创建了,隐藏屏幕上的这个菜单。
运行游戏,按下P键,弹出界面,全部暂停了,再次按下P键,什么都没有发生,原因是,游戏暂停时,输入检测也暂停了,但是,如果我们选中输入节点,右上角复选框。
UI消失,按下P键,UI显示,按下P键,UI消失。。。。。但是并没有恢复游戏。
按下P键,UI显示,按下P键,UI消失,恢复游戏。
当处理现有UI元素时,要注意下面逻辑,因为UI元素的创建和销毁会耗用许多资源。