Unreal Engine 4 C++自定义事件
2015-09-21 10:02
1711 查看
Unreal Engine 4 C++自定义事件
在本文中将介绍如何实现和Actor中的BeginOverlap和EndOverlap相似的事件。第一步,声明委托类型
[code]DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FActorTest, float, fValue);
上面的宏声明委托的类型,我们可以指定有几个参数,OneParams,TwoParams,以此类推。这是一个动态的委托,我们可以在运行时随时增加或者删除通知的函数。
第二步,定义委托
[code]UPROPERTY(BlueprintAssignable, Category = "Game|Test") FActorOnTest OnActorTest;
这是一个成员属性,注意一定要是BlueprintAssignable。
第三步,定义蓝图中实现的事件
[code]UFUNCTION(BlueprintImplementableEvent, Category = "EventTest") void ReceiveActorTest(float fValue);
这个函数声明成BlueprintImplementableEvent,表示这是一个在蓝图中实现的事件函数,C++代码中不用实现它,在需要的时候直接调用即可。
比如,我在Tick里触发这个事件:
[code]void AMyEventActor::Tick( float DeltaTime ) { Super::Tick( DeltaTime ); ReceiveActorTest(10); }
第四步,测试
相关文章推荐
- C++ - 头文件(.h)和源文件(.cpp)都应该写些什么
- <C/C++算法> 图论基础算法小结(邻接矩阵实现)
- C++ - .h和.cpp文件的区别
- 使用 VC++访问webservice
- 在C++遇到有些关键字或者函数被弃用的情况
- C语言enum枚举类型详解
- C++中变量的类型
- 黑马程序员----C语言学习笔记之运算符2
- 在C++中如何做出进度条
- C++类的const, static 和inline成员函数(变量)
- 排序算法总结(C++版)
- 排序算法-合并排序(C语言实现)
- c++ 类与对象的内存
- Source Insight 无法识别C语言源文件
- Python游戏服务器开发日记(七) 关于协程(greenlet)和C语言的思考
- C++ 面向对象基础知识点
- C语言getopt()函数的使用
- Effective C++ —— 杂项讨论(九)
- 顺序表的c++实现,该模板类实现了插入,删除,清空,[]的重载等方法
- C++--内建类型所占的字节数与内建类型转换