UE4 组件 (对话组件)

制作一个可以生成对话气泡,显示对话台词的简单组件。这个组件要的变量:台词(外部传入)。功能:开始对话(生成气泡UI) ,结束对话。

一、对话组件创建

二、开始对话事件

1、注意这里获取的是 owner(拥有者) ,组件可能挂到随意对象上。因为这个对象不固定,所以不能获取玩家角色或者第三人称角色。     按类添加组件

2.这里1添加的组件时widget组件,是动态生成的,不是和bpc_talk一样手动挂上的。生成后对象就有了widget组件,但是只是一个占位符,里面是空的,需要4给它赋予控件。 这里设置的是这个组件其他属性(显示空间、碰撞、位置)

3.创建UI气泡控件(这个控件要放入控件(widget)组件中去的),它要台词信息,所以生成时候作为接口暴露出来。  这里Owning actor也是自己创建并暴露的接口。Owning Player则是节点默认自带的。

4.控件对象赋予控件组件。

三、结束对话事件

询问之前创建的控件组件是否有效,并设置为空。

四、UI控件制作

1.前端

按钮在前,覆层,文本和背景。文本换行要自动包裹文本,并且文本变量化。

2.后端

变量创建:按钮用于点击文本框切换下一句台词。 剧本由外部台词传入,num表示剧本语句索引。Owning actor表示拥有者,由外部导入。因为这个UI控件生成时并没任何拥有者,是后面把它作为了控件组件的控件实体。它无法像bpc_talk一样获取到拥有者。需要外部传入。

UI显示时,默认显示第一句话,人物无法接受输入,只有UI能响应输入,显示鼠标。

给按钮添加单击事件,索引加1,显示下一句台词。索引超过剧本长度时代表台词说完,需要结束对话。这里这个控件并不是其他控件的子项,所以不是用remove from parent移除,而是通过调用之前组件的 结束对话事件。所以这里要通过拥有者找到组件,再调用组件方法。输入和鼠标恢复。

五、对象挂组件

1.挂上组件

2.创建剧本台词

3.调用组件方法。 注意开始对话前,要先退出之前的对话。

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

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

相关文章

自动化同步多服务器数据库表结构

当项目每次进行版本升级的时候,如果在这次迭代中涉及表结构变更,需要将不同的生产环境下,都需要同步表结构的DDL语句,比较麻烦,而且还有可能忘记同步脚本,导致生产环境报错.... 该方案采用SpringBootMybat…

DeepSeek安全:AI网络安全评估与防护策略

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 本文基于现有的公开资料,从企业资深网络安全专家的视角,系统梳理DeepSeek技术在网络安全领域的潜在贡献与核心风险,并结合中国…

【论文笔记】Attentive Eraser

标题:Attentive Eraser: Unleashing Diffusion Model’s Object Removal Potential via Self-Attention Redirection Guidance Source:https://arxiv.org/pdf/2412.12974 收录:AAAI 25 作者单位:浙工商,字节&#…

【powerjob】 powerjobserver注册服务IP错误

1、问题:powerjobserver 4.3.6 的服务器上有多个网卡对应多个ip,示例 eth0 :IP1 ,docker0:IP2 和worker 进行通信时 正确的应该时IP1 但是注册显示获取的确实IP2,导致 worker 通过ip2和server通信,网络不通,注册不上 2、解决方案 …

视频录像机视频通道是指什么

视频录像机的视频通道是指摄像机在监控矩阵或硬盘录像机设备上的视频输入的物理位置。 与摄像头数量关系:在视频监控系统中,有多少个摄像头就需要多少路视频通道,通道数量决定了视频录像机可接入摄像头的数量,一般硬盘录像机有4路…

面试150,数组 / 字符串

27. 移除元素 class Solution:def removeElement(self, nums: List[int], val: int) -> int:# 把不等于 val 的值移动到前面n len(nums)left 0for right in range(n):if nums[right] ! val:nums[left] nums[right]left 1return left26. 删除有序数组中的重复项 只保留 1…

【江科大STM32】TIM输入捕获模式PWMI模式测频率

一、输入捕获测频率 接线图: 测信号的输入引脚为PA6,信号从PA6进来,待测的PWM信号也是STM32自己生成的,输出引脚是PA0,所以接线这里直接用一根线将PA0引到PA6就可以了。 如果有信号发生器的话,也可以设置成…

湖仓一体化及冷、热、实时三级存储

一、湖仓一体化(Lakehouse) 湖仓一体化(Lakehouse)是数据湖(Data Lake)与数据仓库(Data Warehouse)的结合,旨在解决传统数据架构中数据孤岛、存储冗余、计算性能不足等问…

go切片定义和初始化

1.简介 切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。切片的使用和数组类似,遍历切片、访问切片的元素和切片的长度都一样。。切片的长度是可以变化的,因此切片是一个可以动态变化的数…

游戏引擎学习第138天

仓库:https://gitee.com/mrxiao_com/2d_game_3 资产:game_hero_test_assets_003.zip 发布 我们的目标是展示游戏运行时的完整过程,从像素渲染到不使用GPU的方式,我们自己编写了渲染器并完成了所有的工作。今天我们开始了一些新的内容&#…

毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

docker中kibana启动后,通过浏览器访问,出现server is not ready yet

问题:当我在浏览器访问kibana时,浏览器给我报了server is not ready yet. 在网上试了很多方法,都未能解决,下面是我的方法: 查看kibana日志: docker logs -f kibana从控制台打印的日志可以发现&#xff…

在 Docker 中,无法直接将外部多个端口映射到容器内部的同一个端口

Docker 的端口映射是一对一的,即一个外部端口只能映射到容器内部的一个端口。 1. 为什么不能多对一映射? 端口冲突: 如果外部多个端口映射到容器内部的同一个端口,Docker 无法区分外部请求应该转发到哪个内部端口,会…

游戏引擎学习第120天

仓库:https://gitee.com/mrxiao_com/2d_game_3 上次回顾:周期计数代码 我们正在进行一个项目的代码优化工作,目标是提高性能。当前正在优化某个特定的代码片段,已经将其执行周期减少到48个周期。为了实现这一目标,我们设计了一个…

C++中的.h文件一般是干什么的?

在C中,.h 文件通常是 头文件(Header File),它们的主要作用是声明类、函数、常量、宏以及其他在多个源文件(.cpp文件)之间共享的元素。头文件提供了一个接口,使得不同的源文件能够访问这些共享的…

基础算法总结

基础算法总结 1、模拟1.1 什么是模拟算法1.2 算法题1.2.1 多项式输出1.2.2 蛇形方阵 2 高精度算法2.1 什么是高精度算法2.2 算法题2.2.1 高精度加法 2.2.2 高精度乘法 3 普通枚举3.1 算法题3.1.1 铺地毯 3.1.2 回文日期 4 前缀和算法4.1 什么是前缀和4.2 算法题4.2.1 最大子段和…

密码学(哈希函数)

4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…

游戏引擎学习第135天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾 game_asset.cpp 的创建 在开发过程中,不使用任何现成的游戏引擎或第三方库,而是直接基于 Windows 进行开发,因为 Windows 目前仍然是游戏的标准平台,因此首先在这个环境中进行…

Linux:文件描述符与重定向

目录 一、文件描述符 1.文件内核对象 2.文件描述符分配原则 二、文件重定向 1.重定向的现象 输出重定向 输入重定向 dup2 2.重定向的使用 三、标准输出和标准错误 继上篇文章中,我们了解了fd打印的值为文件描述符,那么它还有什么作用呢&…

白盒测试(3):PCB阻抗测试方法

PCB阻抗测试是确保信号完整性的关键,通过测量走线的特性阻抗,验证其是否符合设计目标。常用方法包括时域反射法(TDR)、网络分析仪法和仿真软件法。TDR通过分析反射信号定位阻抗异常,网络分析仪通过S参数计算阻抗&#…