UFUNCTION函数事件

1、UFUNCTION()和 UPROPERTY ()宏相同,需提供使用其进行操作的相关信息,以便非程序员开发者可使用更多功能和访问权。
有三种选择可使用:

(1)BlueprintCallable 函数以C++编写,可从 蓝图图表 中调用,但只能通过编辑C++代码进行修改或重写。以此类方式标记的函数通常具备供非程序员使用而编写的功能,但是不应对其进行修改,否则修改将毫无意义。数学函数便是此类函数的经典范例。

(2)在C++ header (.h)文件中设置 BlueprintImplementableEvent 函数,但是函数的主体则在蓝图图表中完成编写,而非C++中。创建此类通常是为了使非程序员能够对无预期默认动作或标准行为的特殊情况创建自定义反应。在宇宙飞船游戏中,玩家飞船接触到能量升级时发生的事件便是这方面的范例。

(3)BlueprintNativeEvent 函数与 BlueprintCallable 和 BlueprintImplementableEvent 函数的组合类似。其具备用C++中编程的默认行为,但此类行为可通过在蓝图图表中重写,进行补充或替换。对此类代码编程时,C++代码固定使用命名末尾添加了_Implementation的虚函数,此为最为灵活的选项。

【注意】在第三种中,蓝图事件会彻底取代C++代码中的事件,例如,原函数会执行粒子爆炸效果,一旦使用BlueprintNativeEvent,原C++代码的内容(父类)将不会继续执行;但在蓝图中插入父类的执行节点,就可以在执行蓝图事件后,继续执行C++父类中函数的内容:
First: 右击蓝图类的事件函数,选择 add to parent function();
--------将调用添加到父项函数(添加一个调用此函数父项的节点)
Second: 插入到你需要执行的位置

总结
1
// (1) 把TimeToOver变成一个函数事件:
// (2) 在Actor中,以此父类添加对应的蓝图类,然后就可以找到这个自定义的函式了。
// (3) 在蓝图中右击该事件,可以添加父类节点。

// .h 中
UPROPERTY(BlueprintNativeEvent)
void TimeToOver();
virtual void TimeToOver_Implementation();

.cpp中:
void AcountDown::TimeToOver_Implementation()
{
	CountdownText->SetText(TEXT("Go"));
} 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值