UE4初探——C++函数库初始⽂章⽬录
前⾔
1. 使⽤版本UE 4.26 VS2019
八点英语2. C++函数库可以让开发者⽤C++编程更多的功能函数然后再蓝图中调⽤,⾮常有⽤! ⼀、新建C++类
打开⼀个C++项⽬。
点击 ⽂件----新建C++类 或者在 内容浏览器 内右键—新建C++类
然后选择蓝图函数库
这样才能 选择公共 然后你的.h⽂件就会在public中创建
创建之后就会得到⼀个.h⽂件和⼀个.cpp⽂件
.h⽂件:
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include"CoreMinimal.h"
#include"Kismet/BlueprintFunctionLibrary.h"
鲸鲨简笔画#ated.h"
/**
请服
*
*/
UCLASS()
class LLO_API UMyBlueprintFunctionLibrary1 :public UBlueprintFunctionLibrary
{
GENERATED_BODY()
};
.cpp⽂件
// Fill out your copyright notice in the Description page of Project Settings.
#include"MyBlueprintFunctionLibrary1.h"
⼆、新建函数
1. 声明
在UE4中,有中宏:UPROPERTY 和UFUNCTION
UPROPERTY 是当你需要将⼀个UObject类的⼦类的成员变量注册到蓝图中时⽤的
UFUNCTION通常⽤于注册函数到蓝图中
这⾥以查找⽂件夹⽂件为例:
UFUNCTION(BlueprintCallable, Category ="UMyBlueprintFunctionLibrary")
static void ScanDirectory(int& A, TArray<FString>& Files,const FString& FilePath,const FString& Extension);
先通过UFUNCTION声明,第⼀个参数意思为蓝图可调⽤,第⼆个参数为你⾃⼰蓝图函数库的名字前⾯加个"U" 我这⾥为MyBlueprintFunctionLibrary
要注意函数库中声明的函数只能为静态的函数,⼀定要声明static
函数声明中的参数在蓝图中显⽰为引脚。
输⼊引脚为 const + 类型 + & +变量名
输出引脚为类型 + & + 变量名
2.实现
在.h⽂件中声明好函数后,在.cpp⽂件⾥⾯进⾏实现就⾏了
// Fill out your copyright notice in the Description page of Project Settings.书到用时方恨少全诗
#include"MyBlueprintFunctionLibrary.h"
王朝时代void UMyBlueprintFunctionLibrary::ScanDirectory(int& num, TArray<FString>& Files,const FString& FilePath,const FString& Extension) {
好厨师
FString SearchedFiles = FilePath + Extension;
TArray<FString> FindedFiles;
IFileManager::Get().FindFiles(FindedFiles,*SearchedFiles,true,fal);
FString SearchFile ="";
num = FindedFiles.Num();
慈祥的近义词for(int i =0; i < FindedFiles.Num(); i++)
{
SearchFile = FilePath + FindedFiles[i];
Files.Add(SearchFile);
}
}
3.编译
今天休息的图片实现之后需要进⾏编译,可以在vs⾥⾯⽣成或者在UE上进⾏编译
效果