1,使用UMG创建简单的UI
Blueprints目录->FirstPersonCharactor蓝图->我的蓝图->变量分类->浮点型(命名为PlayerHealth)->点亮右边小眼睛
按照此步骤创建浮点型变量PlayerStamina,整型变量PlayerCurrentAmmo,整型TargetKillCount
编译蓝图后在细节设置PlayerCurrentAmmo为30,设置TargetKillCount为0,设置PlayerHealth和PlayerStamina为1
在FirstPersonBP文件夹下创建新文件夹改名UI
右键UI->用户界面(User Interface)->控件蓝图(Widget Blueprint)重命名为HUD
双击蓝图打开UMG编辑器->控制板(Palette)面板->展开面板(Panel)分类->Horizontal Box->拖到对象(CanvasPanel)上
用到了水平框,垂直框,文本,进度条,按下两图放置
Player Stats放在左上,锚点放在左上角
Weapon Stats放在中上,锚点在中上
Goal Tracker放在右上,锚点在右上角
在右边细节中可以调整
文本的字体排版等
进度条的颜色等
FirstPersonBP->Blueprints->打开FirstPerson Character蓝图
搜索BeginPlay->CreateWidget(打开Class菜单选择之前创建的HUD)->Add to Viewport
2,关联玩家变量与UI元素值
2.1为Health Bar,Stamina Bar创建绑定
Health Bar,Stamina Bar两个进度条在此点击绑定,创建绑定
连接蓝图
编译保存后发现进度条颜色变成了之前选中的颜色了
2.2制作文本绑定
Ammo Left如下图连接蓝图(注意ToText(int)(为文本(整数))是Player Current Ammo和返回节点相连自动生成的)
Target Count步骤和之前大致一样
3,获得子弹和摧毁目标的信息
3.1减少子弹计数
打开FirstPersonCharacter->找到Spawn projectile->找到左右边的播放位置处的音效(Play Sound at Location)->输出引脚搜player current ammo连接
空白搜player current ammo选get->输出引脚搜-号
编译保存,播放时射击一次,子弹的数量会减1
3.2增加已摧毁物体的计数
打开CylinderTarget_Blueprint->断开Spawn Emitter at Location与Destory Actor节点的连线(需要在两个节点间增加一些节点)
如图连接节点