UE学习笔记(二)在其他蓝图中得到指定蓝图类名称

1.UCLASS中的属性

UCLASS在UE Editor中的表现,比如Blueprintable允许该UCLASS可以在UE editor创建蓝图。

2.UPROPERTY中的属性

UCLASS中的UPEROPERTY属性的表现,如BlueprintReadWrite,允许该属性在UE editor中读写,注意ReadWirte不能出现在private变量中。

3.指定UCLASS作为UPROPERTY

在Blueprint中以下拉菜单的形式选择指定的UCLASS

1.TSubclassOf<UCLASS> Name;

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Unit)
TSubclassOf<UObjct> UClassOfPlayer;

2.FStringClassReference

UPROPERTY(EditAnywhere, meta = (MetaClass = "GameMode"), Category = Unit)
FStringClassReference UCLassGameMode;

4.示例

(一开始我在逻辑上犯了个错误,认为在蓝图中下拉菜单选中的是蓝图对象,直接取出来就能调用Get Name 或者 Get Age。后来看到FStringClassReference中的String才恍然大悟,得到的只是制指定UCLASS 的 名字字符串)

工作流程:使用MyPlayer蓝图选中的UserProfile蓝图,打印其Name 和 Age

MyPlayer.h

 UserProfile.h

 BP_Myplayer

BP_UserProfile

关卡蓝图中执行

 运行结果

猜你喜欢

转载自blog.csdn.net/Vonem/article/details/125136734