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

使用 DISPATCHERS 进行 Blueprint 之间的通信

文章目录

  • 初始准备
  • DISPATCHERS 的创建和绑定
  • 实现效果

在这里插入图片描述

初始准备

首先 UE5 默认是不提供 静态网格体编辑器也就是 Modeling Mode 的,这里需要从插件中添加 Modeling Tools Editor Mode

进入 Modeling Mode 模式,创建一个正方体

然后利用 PolyGroup Edit 和 PolyCut 操作,保存后得到静态网格体 围栏

然后创建一个 Blueprint Actor 命名为 BP_Door ,进去创建一个 Cube 换一下颜色然后创建一个自定义事件就OK

然后将 BP_Door 拖到围栏中获得一个完整的围栏

接下来复制一下 BP_Character 命名为 BP_Enemy 换一下 Materials 颜色,然后在 BP_Enemy 中实现一个简单的 Death 事件

解下来创建一个 Widget Blueprint 命名为 WB_Nums ,在 Designer 部分中我们需要将后者提升为一个变量

接着我们打开关卡蓝图

在关卡蓝图的 Event BeginPlay 中 添加 WB_Nums,然后创建一个开门事件 Open

接着把 BP_Enemy 拖入到关卡中就完毕了

DISPATCHERS 的创建和绑定

在 BP_Enemy Death 事件中这里我们创建一个 EVENT DISPATCHERS,命名为 OnDeath

然后在 Death 事件的结尾进行调用 Call On Death

这样 DISPATCHERS 就创建完毕了

接下来我们回到 WB_Nums 的 Event Graph 中,实现效果如下,首先获取到所有的 BP_Enemy 然后每个BP_Enemy 使用 Bind Event to On Death 进行绑定,绑定事件实现一个减少的效果

然后回到关卡蓝图,也给关卡添加 bind,并实现一个检测 BP_Enemy 是否为 0 的判断来控制 BP_Door 是否进行打开

最后我们需要对 BP_Character 实现一个碰撞操作,在这里我们使用 Hit Event 实现

到此为止 DISPATCHERS 就已经创建和绑定完毕!

实现效果

实现效果如下

相关文章:

  • Python二级考试试题
  • Python高效内存访问,memoryview这个神器你值得拥有!
  • zlib库的交叉编译记录
  • 【Redis】java客户端(SpringData和jedis)
  • Kotlin 实战小记:No-Arg 引用解决 No constructor found的问题
  • Ubuntu24使用kubeadm部署高可用K8S集群
  • js处理数据(过滤)
  • 御道源码(ruoyi-vue-pro)个人使用小结
  • 运维:k8s常用命令大全
  • Docker部署nacos集群
  • css预处理是什么?作用是什么?
  • C# 利用XejeN框架源码,编写一个在 Winform 界面上的语法高亮的编辑器,使用 Monaco 编辑器
  • el-input-number 限制输入正整数
  • 部署YUM仓库及NFS共享服务
  • Unity贪吃蛇改编【详细版】
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • angular学习第一篇-----环境搭建
  • avalon2.2的VM生成过程
  • JDK9: 集成 Jshell 和 Maven 项目.
  • php ci框架整合银盛支付
  • React Native移动开发实战-3-实现页面间的数据传递
  • vue脚手架vue-cli
  • 阿里云Kubernetes容器服务上体验Knative
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 将回调地狱按在地上摩擦的Promise
  • 前端js -- this指向总结。
  • 通信类
  • 用Python写一份独特的元宵节祝福
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​configparser --- 配置文件解析器​
  • ​批处理文件中的errorlevel用法
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #AngularJS#$sce.trustAsResourceUrl
  • (2)nginx 安装、启停
  • (2)空速传感器
  • (20050108)又读《平凡的世界》
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (AngularJS)Angular 控制器之间通信初探
  • (Git) gitignore基础使用
  • (k8s)kubernetes 部署Promehteus学习之路
  • (编译到47%失败)to be deleted
  • (待修改)PyG安装步骤
  • (黑马点评)二、短信登录功能实现
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)iOS字体
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)菜鸟学数据库(三)——存储过程
  • .cn根服务器被攻击之后
  • .Net 6.0 处理跨域的方式
  • .Net 8.0 新的变化
  • .NET DevOps 接入指南 | 1. GitLab 安装