UE4UI制作_MainMenu

(此类文章仅供自己复习回顾,很多知识点是自己的理解,可能会有不到位的地方)

一、MainMenu主界面的制作

Design:verticalbox和horizontalbox分别是垂直和水平box,在之中可以方便的对button进行位置调节,sizebox可以对自身的大小进行调节;针对每一个button都可以进行制作相应的事件功能,在下图的按钮中点击即可进入功能编写窗口


开始游戏即为openlevel命令,退出游戏即为quitgame命令非常简单,主要看一下option button的功能,涉及到打开另一个用户控件,先看一下节点:


非常线性的流程,去除原来的控件以免占据视口,然后创建新空间并且获得视口及玩家控制;

控件面板里的功能基本就这么多,再看看在主界面关卡里应该如何写关卡蓝图来实现运行该关卡后即可出现主UI。

第一步:关卡开始时创建主界面控件并获得视口及玩家控制,如图:


第二步:使玩家可以看见鼠标(这样才可以进行点击操作)并且是以ui模式去进行操作,如图:


第三步:对于在主ui里play按钮open的关卡,该关卡蓝图应该恢复游戏操作模式以及不能让鼠标显示,所以在主界面关卡逻辑上下面的一个关卡(即游戏关卡)则需要写一条功能来恢复上述二者,如图:


这样就可以在下一个关卡中进行游戏操作了。(ps:经测试,其实在第二个关卡里不写show mouse cursor这个节点只需要直接set input mode game only其实就可以了,鼠标并不会在第二个关卡里出现。)

二、游戏中暂停及返回主界面功能

创建一个pause控件,设计方面类似主界面模式:一个[Horizontal Box]框住所有,在下面加入[Vertical Box]并被[Size Box]包裹,在[Vertical Box]下添加button以及text(返回游戏、保存游戏、返回主菜单、退出游戏)。在项目设置的input里加入一个动作设定:pause——按p键时会触发该动作如图:


暂定游戏是针对游戏玩家,可以在玩家蓝图里进行该功能的制作,打开ThirdPersonCharacter,在左侧函数中添加两个新函数,PauseGame、UnpauseGame。

PauseGame:pausegame——f(set game paused)(调用函数使得游戏暂定)——is valid(进行判定以保证在按了p后pause控件已经出现游戏已经暂停时再按p键不会出现重复的创建控件pause,此时判定变量还没有获得,先空着)——create widget(选择pause控件,并且在返回值处提升为变量命名为pause,此处并没有像往常直接添加一个add to viewport,因为需要获得一个变量用于前面的is valid判断,若pause变量是有效的则说明已经经历过后面创建控件命令了,那么控件已经存在,则不需要创建,若无效则需要创建,所以is not valid处连接创建控件)如图:

创建控件返回值提升为变量后自然就是add to viewport,下面就是和主界面制作时一样的要求,设置输入模式为仅ui(set input mode ui only)以及显示鼠标(获得show mouse cursor(ps:该节点若是关联模式需在player controller连出))如图:


UnpauseGame:f(set game pasued)(调用函数不暂定游戏,不要勾选paused即可)——remove all widgets(去除所有的控件)——set input mode game only——获得show mouse cursor(不勾选show mouse cursor,不然鼠标会看见)如图:


两个自定义函数写好后就可以到角色蓝图的事件图标界面中:新建一个输入事件输入动作pause——PauseGame(应用PauseGame)(其实将PauseGame函数里的节点写在事件图表也可以,不过这样更好管理)如图:

这时已经实现了在游戏中按p键即暂定游戏并且会弹出pause控件的功能了,下面开始制作一些返回按键的功能。

Pause控件里的按钮:对于返回按钮即返回游戏,只需要对于clicked——UnpauseGame(当然无法再控件里直接引用该函数,因为该函数使自定义的,需要先类型转换为角色蓝图)如图:


保存按钮即示意:在左上方输出save game,并非真正保存。

返回主菜单:即openlevel(mainmenu)即可,退出游戏即quitgame节点即可,如图:


至此即可实现在游戏中暂停游戏并进行几个按钮的功能操作(返回游戏,返回主菜单,退出游戏)。

UE4_API_Reference 是一个非常宝贵的资源,它提供了 Unreal Engine 4 引擎的全部 API 详细文档。这些离线文档对开发者来说非常重要,因为它们可以在没有网络连接的情况下提供对 UE4 引擎的完整了解和查询支持。 UE4_API_Reference 全部离线文档包括了对 UE4 的各个模块、类、函数和属性的详细描述和用法示例。开发者可以通过这些文档深入了解各个功能模块的实现原理以及如何正确使用它们。这对于开发者学习 UE4 引擎以及进行游戏开发非常有帮助。 离线文档的好处在于可以在没有网络的环境中使用。开发者不需要依赖互联网来查找关于 UE4 API 的信息,而是可以直接在本地进行搜索和查询。这不仅提高了开发效率,还可以避免由于网络问题导致的信息获取困难。 UE4_API_Reference 全部离线文档的编制工作需要花费大量的时间和精力。文档中的每一个类、函数和属性都需要进行详细描述和示例演示,以便开发者能够更好地理解和使用。这就要求文档编写人员具备广泛的知识和丰富的经验,以确保文档的完整性和准确性。 总之,UE4_API_Reference 全部离线文档对于 UE4 开发者来说是一个非常宝贵的资源。它提供了对 UE4 引擎的全面了解和查询支持,可以帮助开发者更好地学习和使用 UE4 引擎进行游戏开发。同时,它也方便了开发者在没有网络连接的环境中进行开发工作,提高了开发效率。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值