UE4制作沙盒RPG

RPG游戏开发日志5:选人界面

2019-05-09  本文已影响0人  李维民0512

本项目同步上传于github和coding上,国内读者可以通过在coding下载项目。也欢迎你加入我的UE4学习交流QQ群:872537977。如果你喜欢我写的文章,也希望你点赞、收藏、转发。谢谢!
github地址:https://github.com/Liweimin0512/uRPG
coding地址:https://git.dev.tencent.com/JeremyBrett/uRPG.git
我在开始写开发日记之前,曾经尝试制作不同的角色(或者说我想做一个MOBA游戏),这个想法在我写开发日志之后被搁置了,但是之前的一些美术资源我没有删除。想了想,不如就做一个选人界面吧。

数据准备

与上一节中的ItemData类似,这里我们将所有Character保存在数据表中,所以首先创建一个结构图,取名为CharacterData

CharacterData 然后创建数据表并添加两行数据 ChaList 这两个角色分别是魔法角色和战士角色。没什么稀奇的。先准备着。
还有一个需要注意的就是,既然需要选人,那么就没有默认角色这回事了,在GameMode中需要改一下。 默认角色

选人界面UI设计

新建一个用户界面,取名为UMG_SelectCharacter。我们采用极简风格的美术设计,设计的UI很简单美观,如下图所示

选人UI

创建UI

这里我们假设游戏开始时候直接选择角色,那么这个创建UI的工作交给GameMode似乎更合适。这里我们在BP_GameMode中添加一处逻辑。 创建UI

选人按钮响应事件

回到UMG_SelectCharacter,这里我们思考一下点击按钮时候做的两件事,其1就是创建角色,并且将这个UI界面干掉。其中创建角色的逻辑应该不止在此处使用,比如当我们角色死亡复活时,亦或者传送时候,应该都需要用到,所以依然放在GameMode中。

选人按钮响应时间

Character改动

BP_CharacterBase最主要的改动是添加了一个变量ChaName,这个变量需要设置为在生成时显示的,方便调用

ChaName 此外,在BeginPlay事件中,首先创建主界面UI。然后调用SpawnCharacter方法。
image.png
SpawnCharacter主要是根据数据生成Actor,这里主要是对Mesh和动画蓝图的设置,之后会继续扩展。
SpawnCharacter
通过ChaName查找到数据表中对应的行,然后将数据设置上,就完事了,很简单,这里就不详述了。

创建角色逻辑

创建角色需要传入角色名,通过角色名Spawn Actor,选择“BP_CharacterBase”并将角色名传递过去,位置我们直接写死。成功创建之后,就是将Controller和Character建立起联系,这里比较重要的节点就是Possess,就是它实现的控制器对不同角色之间的切换。
可以参考在蓝图中支配Pawn

创建角色 然后记得将新创建的Character传给Controller作为引用。

测试

现在,各模块之间算是各司其职,不同的方法根据定位不同也分别添加在了不同的模块中。让我们运行一下,完美。需要说明的是,目前剑士这个角色还是有问题的,之后会在专门的文章中介绍。这里就不多谈了。

下集预告

下一期,我们来研究一下掉落物的拾取,背包系统的实现。

上一篇下一篇

猜你喜欢

热点阅读