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

UE5学习笔记 FPS游戏制作27 显示玩家血量

文章目录

    • 添加最大血量
    • 添加UI
    • 绑定事件
      • 添加玩家属性,并获取引用
      • 绑定血量条
      • 绑定当前血量
      • 绑定最高血量

添加最大血量

在shooter蓝图里,添加一个MaxHealth属性,游戏运行的时候,由MaxHealth给Health赋值
将MaxHealth设置为100,Health设置为0,子类FppShooter和RobotShooter的Health也设置为0
在这里插入图片描述
构造函数类似于Unity的Awake,用来赋值数据
在这里插入图片描述
实测中发现的bug
1 对于ue4,子类不会自动调用父类的构造函数,需要右键子类的构造函数,选择下边这个,然后连线
在这里插入图片描述
2 对于UE5,子类会自动调用父类构造,但是如果是我们提前拖到场景里的角色,虽然函数会执行,但是任何打印信息都不会显示,用控制台生成的角色则会显式打印信息
3 必须确保调用了父类的构造函数,否则角色血量会是0,一出生就死亡

添加UI

在FppShooter里如下添加UI
一个血量条三个文本框,调整锚点到左下角

在这里插入图片描述

绑定事件

添加玩家属性,并获取引用

因为事件绑定和属性绑定时每帧更新,为了性能考虑,先获取一下玩家的引用,然后存起来
添加Player变量
在这里插入图片描述
事件图表里获取一下引用
在这里插入图片描述

绑定血量条

为进度条绑定获取血量比例的方法
在这里插入图片描述

在这里插入图片描述

绑定当前血量

当前血量使用属性绑定的方式,由于palyer中的health是float类型,不能直接绑定,所以新建一个healthText的变量,然后每帧修改healthText的值
变量:
在这里插入图片描述
修改值:
在这里插入图片描述
绑定到UI:
在这里插入图片描述

绑定最高血量

直接用函数绑定
在这里插入图片描述在这里插入图片描述

运行后看到玩家血量减少

在这里插入图片描述

相关文章:

  • python3的多进程和多线程设计实现
  • 力扣刷题-热题100题-第28题(c++、python)
  • RabbitMQ快速上手
  • 22--交换安全与端口隔离完全指南:MAC地址的奇幻漂流
  • 查看pip3 是否安装了Flask
  • MySQL8.0.37组复制MGR配置详解
  • 零基础被迫参加CTF比赛?CTF高频解题技巧与经验分享
  • 深入了解 MySQL 锁机制
  • 饮料购物商城基于Spring Boot SSM
  • java 面试题记录
  • C++ 变量的声明与定义分离式编译与静态类型(十六)
  • 基于 SpringBoot 的火车订票管理系统
  • 万字长文详解Text-to-SQL
  • 从 0 到跑通的 Qt + OpenGL + VS 项目的完整流程
  • 算法刷题记录——LeetCode篇(1.5) [第41~50题](持续更新)
  • Neo4j【环境部署 03】插件APOC和ALGO配置使用实例分享(网盘分享3.5.5兼容版本插件)
  • 【Windows】win10系统安装.NET Framework 3.5(包括.NET 2.0和3.0)失败 错误代码:0×80240438
  • 【最新】探索CFD的未来:从OpenFOAM到深度学习,全面解析计算流体力学的顶级资源与前沿技术
  • c++并发编程阅读笔记
  • Oracle logminer详解
  • 中国建设监理协会网站会员专区/推广策略可以分为哪三种
  • 禁止网站收录/在线生成个人网站免费
  • 网站seo竞争分析工具/网站排名怎么优化
  • 怎么创建网站根目录/怎么安装百度
  • 做加盟的网站/百度最新人工智能
  • 做网站找投资人/网站关键词优化教程