Skip to main content
 首页 » 资源教程 » UE4教程

【UE4学习】13_UFUNCTION 关键字解释

2016年10月16日 10:41:418220

中国AR网(微信公众号:armeiti)在本文中,将会陆续使用程序实例来解释关键字

【UE4学习】13_UFUNCTION 关键字解释 UE4教程 第1张

(1)关键字 part 1

BlueprintCallable
BlueprintImplementableEvent
Category

【UE4学习】13_UFUNCTION 关键字解释 UE4教程 第2张


BlueprintCallable 进一步用法


.h


[cpp] view plain
  1. UENUM(BlueprintType)  

  2. enum class EMyEnum : uint8  

  3. {  

  4.     BranchA,  

  5.     BranchB  

  6. };  

[cpp] view plain
  1.        ///Category = "MyActor|Sub1" 中 "|" 为分类下的子类  

  2. ///Meta = (ExpandEnumAsExecs = "Branches") 代表作为执行节点输出  

  3. UFUNCTION(BlueprintCallable, Category = "MyActor|Sub1", Meta = (ExpandEnumAsExecs = "Branches"))  

  4.     void FunTest4(int32 Input, EMyEnum& Branches);  

[cpp] view plain
  1. <span style="font-size:14px;">.cpp</span>  

[cpp] view plain
  1. void AMyActor::FunTest4(int32 Input, EMyEnum& Branches)  

  2. {  

  3.     if (Input==1)  

  4.     {  

  5.         Branches = EMyEnum::BranchA;  

  6.     }  

  7.     else  

  8.     {  

  9.         Branches = EMyEnum::BranchB;  

  10.     }  

  11. }  

【UE4学习】13_UFUNCTION 关键字解释 UE4教程 第3张

(2)关键字 part 2


BlueprintNativeEvent

该关键字,表示函数可被蓝图重载,也可被C++正常实现。当C++有实现,蓝图也有重载的时候,C++的代码被覆盖。如果此时既想要使用蓝图重载后的方法,也想使用C++实现的方法,可以在C++ 中提取函数名_Implementation() 到新的函数,以供调用。(存疑)


.h

[cpp] view plain
  1. ///BlueprintNativeEvent 可在蓝图中重载,也可在C++中正常实现方法的具体内容  

  2. ///DisplayName 蓝图中实际调用的函数名  

  3. ///DeprecationMessage显示警告信息  

  4. UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "MyActor",Meta=(DisplayName="FunTest5_DisplayName(...)", DeprecatedFunction, DeprecationMessage = "This FunTest5."))  

  5.     void FunTest5(const TArray<FString>& input, TArray<FString>& output);  


.cpp

[cpp] view plain
  1. void AMyActor::FunTest5_Implementation(const TArray<FString>& input, TArray<FString>& output)  

  2. {  

  3.   

  4. }  

【UE4学习】13_UFUNCTION 关键字解释 UE4教程 第4张

在这里,可以看一下输入参数和输出参数的设置,带const 和不带const的区别。

(2)关键字 part3

Exec

此函数可从游戏中的控制台中执行。Exec命令仅在特定类中声明时才产生作用。包括:

Pawns,

Player Controllers,

Player Input,

Cheat Managers,

Game Modes,

Game Instances,

overriden Game Engine classes,

Huds


             具体参考:点击打开链接

MyPawn.h


[cpp] view plain
  1. UFUNCTION(Exec)  

  2. tValue(float Value);</span>  


MyPawn.cpp

[cpp] view plain
  1. void AMyPawn::SetValue(float Value)  

  2. {  

  3.   

  4. }  

【UE4学习】13_UFUNCTION 关键字解释 UE4教程 第5张




参考 :

  1、UE4 UFUNCTION Keywords Explained

2、Function definitions (Official Docs)

3、Extending Blueprints

4、UF::

5、分享C++寫blueprint block的方法

更多AR新闻就在中国AR网(http://www.chinaar.com/)

更多AR教程就在中国AR网(http://www.chinaar.com/)

中国AR网(微信公众号:armeiti)

评论列表暂无评论
发表评论