【UE4 塔防游戏系列】07-子弹对敌人造成伤害

目录

效果

步骤

一、让子弹拥有不同伤害

二、敌人拥有不同血量 

三、修改“BP_TowerBase”逻辑

四、发射的子弹对敌人造成伤害


效果

 

步骤

一、让子弹拥有不同伤害

为了让每一种子弹拥有不同的伤害值,打开“TotalBulletsCategory”(所有子弹的父类),新建一个浮点型变量,命名为“DamageValue”,表示子弹的伤害值,默认值设为10

 子弹碰撞到敌人时,应用这个伤害值

 打开“TowerBaseBullet_Child”,修改父类中的“DamageValue”,这样就可以让不同的子弹拥有不一样的伤害值

二、敌人拥有不同血量 

打开“TotalEnemyCategory”,新建一个浮点型变量,命名为“HealthyValue”,用于表示敌人的当前的生命值,设置默认值为100

同样的我们可以在子类“Enemy1”中去修改“HealthyValue”的大小,让每一个敌人拥有不同的生命值。

三、修改“BP_TowerBase”逻辑

 事件开始运行后,每隔1s执行一次“DetectEnemise”事件

 “DetectEnemise”事件如下

 当检测到了敌人后就停止检测,停止执行定时器事件,如果没有检测到,就重新检测敌人。

当变量“ChoosedEnemy”无效时,需要重新开始检测

四、发射的子弹对敌人造成伤害

 在“TotalEnemyCategory”中添加如下节点,当敌人的生命值归0时设置模拟物理来模拟敌人倒下的效果,然后延迟2s销毁敌人Actor

 这里需要将Mesh组件中的碰撞预设设置为自定义,然后忽略Pawn的碰撞,否则敌人会被击飞。

 此时运行游戏会发现当敌人死亡后炮塔还在继续向这个死亡的敌人发射子弹,为了避免这个现象,我们需要在“TotalEnemyCategory”中添加一个布尔变量来表示敌人是否已经死亡

 当敌人生命值归0时,设置“isDead”为真

打开“BP_TowerBase”,添加对敌人死亡的判断,没有死亡就继续之前的逻辑,死亡就重新开始检测

此时运行游戏如文章开头所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/3344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Boot】Web开发 — Web开发简介

Web开发简介 首先介绍Spring Boot 提供的Web组件spring-boot-starter-web,然后介绍Controller和RestController注解,以及控制数据返回的ResponseBody注解,最后介绍Web配置,以便让读者对使用Spring Boot开发Web系统有初步的了解。…

linux下一个iic驱动(按键+点灯)-互斥

一、前提: 硬件部分: 1. rk3399开发板,其中的某一路iic,这个作为总线的主控制器 2. gd32单片机,其中的某一路iic,从设备。主要是按键上报和灯的亮灭控制。(按键大约30个,灯在键的…

送呆萌的她一个皮卡丘(Python实现)

目录 1 呆萌的她 2 思维需要革新 3 送她的一个漂亮皮卡丘 4 Python完整代码奉上 1 呆萌的她 又是一季春风暖阳下, 你是一湾一湾羞涩的春波。 静静感受着, 你垂下的枝膊 在我的脸上轻轻抚摸 一对春燕,低低掠过 涟漪乍起,是你浅浅的笑窝...... 2 思…

(五)「消息队列」之 RabbitMQ 主题(使用 .NET 客户端)

0、引言 先决条件 本教程假设 RabbitMQ 已安装并且正在 本地主机 的标准端口(5672)上运行。如果您使用了不同的主机、端口或凭证,则要求调整连接设置。 获取帮助 如果您在阅读本教程时遇到问题,可以通过邮件列表或者 RabbitMQ 社区…

56 # 实现 pipe 方法进行拷贝

pipe 是异步的,可以实现读一点写一点,管道的优势:不会淹没可用内存,但是在导入的过程中无法获取到内容 const fs require("fs"); const path require("path");fs.createReadStream(path.resolve(__dirname…

前端 | (七)浮动 | 尚硅谷前端html+css零基础教程2023最新

学习来源:尚硅谷前端htmlcss零基础教程,2023最新前端开发html5css3视频 文章目录 📚浮动介绍🐇元素浮动后的特点🐇浮动小练习🔥盒子1右浮动🔥盒子1左浮动🔥所有盒子都浮动&#x1f5…

Python 闭包 装饰器

闭包定义:在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包. 下面实现一个在执行方法的前后打印日志的场景 第一种方法装饰器 1.定义外层函数(要求…

vscode 添加 ros头文件

解决 vscode不能支持ROS相关头文件和没有智能提示问题 vscode 编写pakage源文件代码,#include<ros/ros.h>等头文件时报错,无法运行智能提示 1.vscode中CTRL+P 2.键入ext install ms-iot.vscode-ros 按回车,等待下载ros插件 3.修改c_cpp_properties.json文件 鼠标…

数学建模 插值算法

有问题 牛顿差值也有问题它们都有龙格现象&#xff0c;一般用分段插值。 插值预测要比灰色关联预测更加准确&#xff0c;灰色预测只有2次 拟合样本点要非常多&#xff0c;样本点少差值合适

Spring底层

配置文件 配置优先级 之前讲解过&#xff0c;可以用这三种方式进行配置 那如果这三种都进行了配置&#xff0c;那到底哪一份生效呢&#xff1f; 结论 优先级从大到小 properties>yml>yaml然后就是现在一般都用yml文件进行配置 其他配置方式 除了配置文件外 还有不同…

java Spring中使用到的设计模式

单例模式 单例模式(Singleton Pattern)是java中最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个对象被创建。这个类提供了一…

电压放大器在超声波焊接中的作用以及应用

电压放大器是一种运用于电子设备中的信号放大器&#xff0c;主要作用是将小信号放大为更高幅度的信号。在超声波焊接中&#xff0c;电压放大器起到了重要的作用&#xff0c;它可以将从传感器采集到的微小信号放大为能够被检测和处理的合适大小的信号。 超声波焊接是现代工业生产…

微信怎么自动加好友,通过好友后自动打招呼

很多客户朋友每天花大量的时间用手机搜索添加好友&#xff0c;这样的添加很集中也容易频繁&#xff0c;而且效率还低。对方通过后&#xff0c;有时也不能及时和客户搭建链接&#xff0c;导致客户也流失了。 现在可以实现自动添加和自动打招呼哦&#xff0c;只需要导入数据、设置…

【从零开始学CSS | 第二篇】伪类选择器

目录 前言&#xff1a; 伪类选择器&#xff1a; 常见的伪类选择器&#xff1a; 举例&#xff1a; 小窍门&#xff1a; 总结: 前言&#xff1a; 上一篇文章我们详细的为大家介绍了一些常见的选择器&#xff0c;这几篇我们将再次介绍CSS中的一个常见选择器——伪类选择器&am…

设计模式之适配器模式

写在前面 适配器设计模式属于结构型设计模式的一种&#xff0c;本文一起来看下。 1&#xff1a;介绍 1.1&#xff1a;什么时候适配器设计模式 当现有接口客户端无法直接调用时&#xff0c;我们可以考虑适配器设计模式&#xff0c;来定义一个能够供客户端直接调用的接口&…

软件测试的分类

代码分类&#xff1a; 1、黑盒测试 2、白盒测试 3、灰黑测试 黑盒测试&#xff1a; 把测试的对象看成是一个黑色的盒子的&#xff0c;看不到里面内部的结构&#xff0c;是对软件的一种功能性的测试。 白盒测试&#xff1a; 就是把测试的对象看成是一个透明的盒子&#x…

测试老鸟总结,性能测试-最佳并发和最大并发,性能测试实施...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试&#xf…

curl操作

下载路径&#xff1a;https://curl.se/windows/ 参考&#xff1a;https://blog.csdn.net/weixin_45191386/article/details/130652821 操作&#xff1a; curl http://localhost:8085/api/v1/aaa/bbbb/?ccc 652781344055627776

Maven下载依赖的顺序及配置文件说明

在 Maven 中&#xff0c;当下载依赖项时&#xff0c;存在多个仓库时会按照以下优先级顺序进行搜索&#xff1a; 本地仓库&#xff1a;Maven 会首先在本地的 Maven 仓库中查找依赖项。 私有仓库&#xff08;私服&#xff09;&#xff1a;如果在本地仓库中未找到依赖项&#xf…

编程导航算法村第二关 | 白银挑战

编程导航算法村第二关 | 白银挑战 指定区间的链表翻转 LeetCode92 &#xff1a;给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回反转后的链表。 public ListNode revers…