当前位置: 首页 > article >正文

105. UE5 GAS RPG 搭建主菜单

在这一篇,我们将实现对打开游戏显示的主菜单进行搭建,主菜单将显示游戏主角,游戏名称和进入游戏和退出游戏两个按钮。

搭建菜单场景

我们将主菜单设置为一个单独的场景,前面可以显示对应的UI控件,用于玩家操作,后面可以显示一个场景,显示游戏的相关特色。
首先将我们之前的地牢场景复制一份
在这里插入图片描述
接着我们将游戏模式修改为无,之前的模式是战斗场景中使用的,我们不需要使用
在这里插入图片描述
直接将游戏模式重载设置为GameMode,如果设置为None,将使用默认的设置。
在这里插入图片描述
默认设置在项目设置中修改
在这里插入图片描述
接下来,我们创建一个用于显示玩家角色Actor,它只需要用于显示。
在这里插入图片描述
在蓝图内添加一个骨骼网格体用于显示角色
在这里插入图片描述
设置对应的资产和动画,角色直接使用动画资产播放动画即可。
在这里插入图片描述
在角色下面添加一个法杖和粒子系统
在这里插入图片描述
将粒子特效设置在固定位置
在这里插入图片描述
法杖添加对应的法杖模型,并且要设置附加的父节点位置,这样,法杖就可以直接显示在正确的位置。
在这里插入图片描述
正确效果如下
在这里插入图片描述
接着,我们在帧回调里,记录当前actor的执行时间,用于后续修改火球漂浮的效果
在这里插入图片描述
我们在曲线查看器里可以看到,正弦会在1到-1之间进行徘徊,我们可以以此值来设置
在这里插入图片描述
在蓝图事件开始执行时,我们将火球的默认位置存储下来
在这里插入图片描述
在帧回调里,通过sin转换到-1到1的范围值,然后通过一个值缩放此值,去修改火球世界场景的z坐标,火球就可以实现上下浮动的效果。
在这里插入图片描述
接着,我们在蓝图里添加一个贴花,来模拟角色头后面的魔法光环效果,我们设置在角色身后
在这里插入图片描述
然后在帧回调,给角色的x轴旋转添加一个旋转值,让魔法光环旋转起来。
在这里插入图片描述
效果如下。
在这里插入图片描述

创建主菜单UI

接着,我们创建主菜单的UI,单独创建一个MainMenu的文件夹,里面放置菜单场景的资源,将之前的Actor也放入其中。
在这里插入图片描述
在里面创建一个用户控件,用来设置游戏名称
在这里插入图片描述
在控件里,添加了一个覆层,覆层下面添加一个文本用于显示标题
在这里插入图片描述
在标题内填写相应的文字,效果如下
在这里插入图片描述
字体设置如下
在这里插入图片描述
接着,我们在蓝图里添加一个控件组件
在这里插入图片描述
设置在场景里显示我们创建的组件
在这里插入图片描述
调整好位置,在运行时,刚好不被角色挡住,这里大家可以自己随意发挥。当然,我还是喜欢用UI去显示游戏名称,那样更清晰一些,仁者见仁,智者见智吧。
在这里插入图片描述
接着,在蓝图运行时,播放一个背景音乐
在这里插入图片描述
音乐记得设置为循环,如果在当前场景,音乐会一直播放下去。
在这里插入图片描述

添加主界面UI

我们在ui上面添加标题以及进入游戏和退出游戏两个按钮。
我们创建一个新的用户控件,在里面添加一个canvas,在下面添加一个文本显示标题,然后添加两个宽按钮用来设置进入和退出游戏。
在这里插入图片描述
稍微调整后,效果如下
在这里插入图片描述
我们要找个地方执行它,刚好在之前的actor蓝图里,事件开始时,执行创建用户控件添加到视口
在这里插入图片描述
打开主菜单后,我们不需要鼠标操控场景,只需要对UI产生输入操作,并显示鼠标。
在这里插入图片描述

最后运行查看效果
在这里插入图片描述

绑定进入和退出游戏事件

这一篇文章的最后,我们复制一个新场景,作为进入游戏后使用的场景
在这里插入图片描述
新场景,我们将蓝图删除,这里不需要使用主菜单的蓝图。
在这里插入图片描述
接着,我们在主菜单的用户控件里绑定ui上的退出按钮回调,在回调里设置游戏退出事件
在这里插入图片描述
在进入游戏按钮,我们在事件回调里设置打开新关卡,可以将其设置为一个变量,也可以直接在节点上设置。
在这里插入图片描述
运行测试效果即可。


http://www.kler.cn/a/389039.html

相关文章:

  • INQUIRE:一个包含五百万张自然世界图像,涵盖10,000个不同物种的专为专家级文本到图像检索任务设计的新型基准数据集。
  • UVC 输出视频格式修改和windows下数据分析
  • L10.【LeetCode笔记】回文链表
  • Kafka参数了解
  • scrapy爬取中信证券销售金融产品信息
  • Autosar CP DDS规范导读
  • MySQL缓存参数如何优化与表结构如何优化才算是最大性能的优化
  • 6层板设计常用知识笔记
  • 鸿蒙开发基础入门
  • BP 神经网络学习 MATLAB 函数详解及应用
  • 【Istio】Istio原理
  • web安全漏洞之文件上传
  • 【JWT】Asp.Net Core中JWT刷新Token解决方案
  • DCN DCWS-6028神州数码 AC 设备配置笔记
  • ESLint 使用教程(三):12个ESLint 配置项功能与使用方式详解
  • SDL渲染器和纹理
  • 2024-11-10-leetcode每日一题-540. 有序数组中的单一元素
  • Python数据分析-Google Play商店应用数据分析
  • C#里对数组的排序操作
  • 关于我重生到21世纪学C语言这件事——函数详解
  • 初始JavaEE篇——多线程(8):JUC的组件
  • Python 获取PDF的各种页面信息(页数、页面尺寸、旋转角度、页面方向等)
  • jupyter添加、删除、查看内核
  • 一篇Spring Boot 笔记
  • Python | Leetcode Python题解之第542题01矩阵
  • 【Ubuntu20】VSCode Python代码规范工具配置 Pylint + Black + MyPy + isort