UI初步完成后,我们将进一步介绍引擎的高级特性。我们将在游戏暂停时调用暂停事件,借助“Is Valid”来检查有效性并控制菜单的开关状态,在显示暂停菜单时使用自定义事件来隐藏我们的玩家界面。
1、重复出现暂停界面,有两种方法解决。
(1)检查控件是否已经存在。使用此方法。或者你可以添加一个布尔值,通过它了解暂停界面,当前是否已经显示,你还可以检查我们是否使用了“Set Game Paused”按钮,
最简单的方法就是检查有效性,每当我们按下暂停键时,我们就要检查是否已经创建了暂停菜单,为此,我们要为暂停菜单创建一个引用。

![]()

(2)另一种逻辑时检查是否创建了暂停界面,如果创建了,隐藏屏幕上的这个菜单。



运行游戏,按下P键,弹出界面,全部暂停了,再次按下P键,什么都没有发生,原因是,游戏暂停时,输入检测也暂停了,但是,如果我们选中输入节点,右上角复选框。


UI消失,按下P键,UI显示,按下P键,UI消失。。。。。但是并没有恢复游戏。

按下P键,UI显示,按下P键,UI消失,恢复游戏。
当处理现有UI元素时,要注意下面逻辑,因为UI元素的创建和销毁会耗用许多资源。





本文介绍了如何在游戏引擎中设计并实现暂停菜单的功能。通过检查菜单的状态和使用自定义事件来控制显示与隐藏,避免重复打开同一菜单。讨论了两种避免重复出现暂停界面的方法,并解释了如何利用IsValid来检查有效性。
935

被折叠的 条评论
为什么被折叠?



