您的位置:首页 > 编程语言 > C语言/C++

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);
}


第四步,测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: