UE5笔记【十三】蓝图系统-血量控制系统

news/2024/11/28 19:50:35/

上一篇我们讲解了,蓝图中的函数功能。可以将蓝图中重复的代码,再次利用。演示了Smasher的效果。

这一篇中,我们讲解Smasher造成伤害之后,如何保存和计算角色的血量状态。

我们的设计思路是:smasher每次碰到角色是,造成50点伤害,角色血量100。

触碰到两次,角色Die。

首先我们打开角色蓝图:

然后我们新建一个变量:名称为:Health。类型为float型,然后用此保存角色血量。设置默认值为100。

然后我们,新建一个自定义事件:这个事件名称:TakeDamage,输入参数为DamageAmount。一看就是造成伤害的事件,参数为伤害值。然后拖动血量Health进入蓝图。两者做差。

又重新得到血量值。然后set血量值。此时新建一个Branch。用于判断血量是否小于0。

小于0

然后将Branch连接。此时如果血量小于0需要角色Die。如何Die呢。

我们需要新建一个事件:PlayerDeath。这个事件专门用来演示,当角色Die时的动作。

所以我们需要用到角色的蓝图mesh。拖动进入到蓝图中。

 我们可以看到角色的Mesh细节:里面包含了物理仿真和碰撞预设。其中碰撞预设中包含了RagDoll。

当角色发生Die时,然后启动物理仿真setSimulate physics,然后设置碰撞。setCollisionPorfileName。  

设置profileName为RagDoll。

最后Disable any input from the user after they die。

 此时我们就可以在TakeDamage事件后面添加上角色Die事件。

 完成这两个事件的配置后,我们需要回到Smasher蓝图中,因为:造成伤害,需要Smasher来执行。

在Smasher中,触碰到Box造成伤害,当好Box有个On Component Begin Overlap事件。

点击添加+

 然后,我们需要添加到底哪个Actor触碰了Box。

cast to ThirdPersonCharacter。

然后我们就可以调用这个Character的造成伤害的方法了。

 给方法传递一个参数。Damage。 

 然后保存。

回到角色蓝图中,然后:

print一下,HIT!。然后再打印一下角色血量值。

添加两个Print。然后变更流程。 

 同时,在Smasher蓝图中,将Damage变量,设置默认值为50。

需要编译,才可以设置默认值。

 编译角色时,报错:

 我们将mesh和目标连接。

注意:

勾选这两个选项,否则无效果。 

 


http://www.ppmy.cn/news/3317.html

相关文章

电商中(spu和sku的定义区别是什么)?

一、spu概念 SPU Standard Product Unit (标准化产品单元) SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。 二、sku概念 SKUst…

React.js 简介以及一些基本概念

React 是什么 React 跟angular.js 和Vue.js 一样是构建用户界面的js库 2011 年 由Facebook 工程师Jordan Walke创建 在 2013 开源 React 的优势 原生js的痛点 原生的Javascript 操作DOM繁琐,效率低(DOM-API 操作UI)使用Javascript 直接操作DOM&#xf…

10.9.1-Dataway+Echarts动态图表方案

文章目录1. 技术选型2. 实现方案2.1. 方案介绍2.2. 方案实现(demo)2.2.1. 使用echarts绘制html静态页2.2.1.1. 选择合适的图表2.2.1.2. 下载html demo2.2.2. 使用Dataway准备数据接口2.2.2.1. 部署dataway2.2.2.2. 创建数据接口2.2.3. 调试html demo da…

LeetCode刷题日记之链表II

1.四数相加II 题目描述 解题思路 1.定义一个哈希Map,其中key存放两数之和,value存放两数和出现的次数。 2.遍历统计出nums1和nums元数相加和出现的次数(ab)。 3.遍历nums3和nums4,并求和(cd),统计出(0-(cd))在Map中出现的次数。 4.返回(0-(…

Opencv项目实战:17 贪吃蛇游戏

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与讲解 4、项目资源 5、项目总结 0、项目介绍 这次是一个有意思的计算机视觉游戏——贪吃蛇,我们以食指为蛇头,不断的移动我们的手指,当吃到甜甜圈的时候,蛇身增…

Mongodb数据库的安装部署及基本使用

Mongodb数据库的安装部署及基本使用一、Mongodb数据库介绍1.Mongodb简介2.Mongodb适用场景3.MongoDB特性二、检查本地系统环境1.检查系统版本2.检查yum仓库三、Mongodb的安装1.配置Mongodb的yum源2.安装Mongodb3.修改绑定IP4.启动Mongodb服务四、检查Mongodb状态1.查看Mongodb服…

Python中ArcPy基于矢量范围批量裁剪大量栅格遥感影像

本文介绍基于Python中ArcPy模块,基于矢量数据范围,对大量栅格遥感影像加以批量裁剪掩膜的方法。 本文所需要的代码如下所示。 # -*- coding: utf-8 -*- """ Created on Tue Dec 13 20:07:48 2022author: fkxxgis """impo…

IT Resilience vs. Disaster Recovery 谈谈对弹性与灾备的理解

背景 在大型企业中,可能会花很多时间考虑灾难恢复以及如何避免灾难恢复。毕竟,这是一场噩梦——一场自然灾难或人为破坏的灾难,会摧毁你的IT基础设施,让企业团队陷入困境。 灾难恢复(DR)和IT Resilience …