文章来源:极手游作者:小狐狸发布时间:2022-12-11 20:00:17
一、项目概述
1.根据项目的需要,我做了一个小游戏。小游戏的规则很简单。游戏刚开始会有四个AI在周围巡逻,会追上玩家,发现就自爆。
玩家会扣除一定的血。当玩家的血量达到零时,游戏就会失败。
2.场景中会放置一些金币,玩家捡起后会获得额外的积分。当所有的金币都被拿起时,游戏就成功了。
GameInstance可以跨等级存在,不会因为切换等级或者游戏模式而被破坏。
二。项目摘要
1.制作这个项目的具体步骤如下:
A.首先,你需要制作游戏的开始界面,并使用UMG来设计它。具体方法是:
1.使用边框组件设计背景图片。
2.使用垂直盒组件设计选项盒。
3.在设计的垂直框中设计选项按钮。
4.设计按钮的绑定事件,点击开始按钮跳转到游戏,点击退出按钮终止游戏进程。
B.然后设计会四处巡逻的AI,发现玩家就追:
1.首先,设计AI的结构。这个项目中的AI继承了玩家角色。
2.继承后删除AI的FollowCamera组件,输入相关蓝图。
3.在AI的顶部添加一个小部件组件来显示AI名称。
4.设计AI的自动巡逻并遵循玩家的逻辑,用蓝图设计:
A.首先,给AI增加一个卒感组件,设计AI的视野。
B.当AI看到一个玩家时,获取当前玩家的位置,让AI移动到那个位置。
C.当AI成功追上玩家时,摧毁AI,扣除玩家HP。
D.当AI没有看到玩家的时候,它会先得到一个随机的坐标值,然后让AI移动到这个坐标。
C.设计播放器逻辑:
1.首先为玩家添加一个Widget组件来显示玩家的血条和分数。
2.然后为玩家设计两个Int变量,分别是HP和Points。
3.设计拾取金币的逻辑,即玩家与金币碰撞时,点数会增加1。
4.设计每一帧中的触发事件,即判断每一帧中当前的HP和点数值。
5.如果HP=0,则显示游戏失败界面,退出游戏。
6.如果积分值为3,将显示游戏成功界面并退出游戏。
D.设计金币的蓝图:
1.金币蓝图的逻辑比较简单,就是玩家与金币相撞,就摧毁了金币演员。
2.设计金币的样式,并添加旋转运动组件,使金币自动旋转。
2.本项目制作过程中遇到的困难:
1.在设计开始界面的时候,游戏进程在点击开始按钮之前就已经开始运行了?
答:造成这个问题的主要原因是开始界面和游戏过程在一个水平上,
解决这个问题有两种方法,一种是在另一个关卡设计界面,然后点击开始游戏按钮跳转到游戏进度关卡。
还有一种方法是在界面弹出后主动暂停游戏进程,点击开始游戏按钮后再恢复游戏进程。
2.在玩家头上设计血条信息时,第一个AI碰撞时,血条直接归零?
回答:这个问题是类型转换的问题。因为血液条使用ProgressBar组件,所以它的值是一个从0到1的浮点类型值。
但是之前设计的HP的值是0到100的Int类型值,会出现这个问题是因为没有对Int类型值进行小数运算。
这个问题的解决方法是将HP转换为Float类型,然后进行计算。
大掌门2金将怎么组合