`
aigo
  • 浏览: 2644789 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]Event Dispatchers使用实例(蓝图)

UE4 
阅读更多

相关文章:

C++实现Delegate Event实例

http://aigo.iteye.com/blog/2301010

 

原文作者:@玄冬Wong

 

当前例子使用的版本是v4.10,演示的内容包括:

按下字母键时,去调用事先绑定好的Event Dispatcher,在这个Event Dispatcher中,来实现修改一个widget蓝图中一个button组件的文本。

 

1,先在Project Settings中添加一个输入动作,名字为TestOutStr,按下V键时触发。



 

2,在蓝图脚本中实现调用Event Dispatcher的操作。

这里已经建好了一个PlayerController的蓝图,名字叫:MyPlayerController_BP。打开这个蓝图后,新建一个变量:NewVar_0,string类型,默认值为“BBBB”,我们将会把这个“BBBB”字符串传递到后面定义的Custom Event中,让button的文本显示为“BBBB”;

再新建一个Event Dispatcher,名字叫:UpdateBtnTxt,我们需要传递参数,所以为这个Event Dispatcher新建一个String参数,参数名为NewString。


 



 

 

3,这个MyPlayerController_BP蓝图的逻辑具体如下:

当按下V键时,会触发UpdateBtnTxt这个事件,同时在屏幕中打印一句“Press V++++”来测试调用Dispatch Event是否执行过。


 

4,在事先建好的Widget蓝图中添加一个button和一个Text组件,这个button的ID为Button_Txt,后续蓝图中会用到这个ID,Text组件的默认值为AAAA,结构如下图所示:



 

5,打开Widget蓝图的Graph面板,右键新建一个Custom Event



 

 

6,这个Custom Event名字起为ChangeTxtEvent,由于要接受MyPlayerController_BP蓝图中传递过来的string类型参数,所以这里也新建一个string类型参数,名字为NewParam。



 

7,最后用蓝图node来连线实现逻辑,我们在Event Construct事件中绑定了事先定义好的Event Dispathcer:UpdateBtnTxt。

MyPlayerController_BP蓝图中调用UpdateBtnTxt时,则会触发Widget蓝图的Custom Event:ChangeTxtEvent,从而来修改button的文本。



 

 

参考资料:

UE4 Event Dispatchers

https://www.youtube.com/watch?v=k-MAALv3P-Y

 

Event Dispatchers

https://docs-origin.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/EventDispatcher/index.html

 

 

  • 大小: 81.8 KB
  • 大小: 53.5 KB
  • 大小: 56.8 KB
  • 大小: 45.6 KB
  • 大小: 83.7 KB
  • 大小: 97.5 KB
  • 大小: 71 KB
  • 大小: 67.5 KB
  • 大小: 183.3 KB
2
1
分享到:
评论

相关推荐

    linux下oracle创建实例总结

    ### Linux 下 Oracle 10.2.0 创建实例详尽指南 #### 一、环境配置与准备 在开始创建 Oracle 数据库实例之前,确保已经安装了 Oracle 10.2.0 版本,并完成了相应的环境变量配置。下面将详细介绍环境配置的步骤。 *...

    DISPATCHERS(调度)

    ### DISPATCHERS(调度) #### 知识点概览 在IT行业中,特别是在数据库管理系统领域,共享服务器架构中的调度(Dispatcher)扮演着至关重要的角色。本文将深入探讨与调度相关的概念、配置选项及其在共享服务器环境中...

    Unreal Engine4.X By Example.pdf

    - 分别介绍了Graphs、Functions、Macros、Variables和Event dispatchers等Blueprint元素的作用及其使用方法。 - **编译Blueprint** - 解释了编译Blueprint的过程及其重要性。 - **利用Blueprint变量** - 展示了...

    前端开源库-bind-action-dispatchers

    4. **可扩展性**:bind-action-dispatchers设计灵活,允许开发者根据项目需求进行扩展和定制,与其他库或框架集成,提供了一种高度可定制的状态管理解决方案。 5. **代码简洁**:使用此库,开发者可以写出更简洁、...

    Unreal Engine 4.X By Example

    - **Event Dispatchers**: Trigger events when certain conditions are met. ##### Modifying the Hello Sphere Blueprint This involves modifying a simple sphere actor to add basic interactivity. - **...

    Retrofit简单使用的例子

    使用Retrofit.Builder创建Retrofit实例,配置基础URL和其他设置。这里我们使用GsonConverterFactory,让Retrofit知道如何解析JSON数据。 ```java Retrofit retrofit = new Retrofit.Builder() .baseUrl(...

    Android结合kotlin使用coroutine的方法实例

    今天记录一个小代码片段,在Android上使用coroutine 的小例子。 由于我自己是做一个记账软件来学习的,我用了gRPC,最开始我是使用线程来做网络请求的: thread { // 网络请求代码 runOnUiThread { // 更新UI的...

    Android使用ksoap2+协程+handler实现WebService

    4. 处理结果:在协程中,将获取到的数据转换为需要的格式,然后使用`withContext(Dispatchers.Main)`将结果更新到UI。 ```kotlin withContext(Dispatchers.Main) { // 更新UI } ``` 四、解决Handler过时问题 在...

    安卓Room简单CRUD使用案例

    ### 4. 数据库(Database) 创建一个继承自`RoomDatabase`的抽象类,定义实体和DAO: ```kotlin @Database(entities = [User::class], version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun...

    ORACLE RAC

    6. **创建数据库**:使用RAC选项创建数据库,设置适当的参数,如instance_count(实例数量)和dispatchers(调度器)。 7. **配置监听器和服务**:为每个实例创建监听器配置,定义数据库服务,并进行负载均衡策略...

    Spotlight For Oracle使用说明

    4. SGA面板:显示了系统全局区(SGA)中各组件的内存使用情况,例如当前SGA大小(CurrentSize),数据缓冲区(BufferCache, KeepPool, RecyclePool),共享池(SharedPool),重作日志(RedoLog),大池(LargePool...

    libeventž.rar

    4. **Dispatchers**:根据不同的操作系统,Libevent实现了多种事件调度器,如epoll、kqueue等,它们负责高效地监控文件描述符状态变化。 在源码分析中,可能会涉及到以下主题: 1. **事件模型的实现**:分析如何...

    room数据库的基本学习与使用

    在应用程序中,我们可以使用AppDatabase.getDatabase(context)获取数据库实例,然后通过DAO接口进行数据的插入、更新、删除和查询。 Room还提供了异步支持,可以使用Kotlin的协程或RxJava2进行异步操作,避免阻塞...

    Spotlight (oracle) 使用

    - **Dedicated/Shared/Dispatchers**:分别显示专用服务器进程、共享服务器进程和调度器的数量,它们影响数据库处理能力。 - **JobQueue**:展示作业队列的长度,反映后台任务的排队情况。 6. **SGA面板** - **...

    Android 自带progressDialog的使用

    在这种情况下,可以使用`ProgressDialog`的替代品,如`ProgressBar`配合`CoroutineScope`和`withContext(Dispatchers.IO)`。 8. **注意废弃警告** 从Android 3.0(API级别11)开始,`ProgressDialog`的部分方法已...

    sqlite数据库使用demo

    在应用中使用数据库时,首先需要获取数据库实例,然后可以通过DAO接口执行操作。以下是一个简单的示例,展示了如何插入、查询和删除用户: ```kotlin val db = AppDatabase.getInstance(this) val userDao = db....

    oracle 10g rac 教程

    Oracle 10g Real Application Clusters (RAC) 是一种高可用性和可伸缩性的数据库解决方案,它允许多个实例同时访问同一个物理数据库。在Oracle RAC中,多个服务器节点共享一个物理数据库,从而提供了故障切换和负载...

    oracle 数据库的事实同步

    通过使用Data Guard,可以实现主备数据库之间的实时同步,确保在主数据库发生故障时,备用数据库能够迅速接管服务,最大程度地减少业务中断。 #### 二、环境准备 为了搭建一个基于Data Guard的Oracle数据库实时同步...

Global site tag (gtag.js) - Google Analytics