创建C++文件
image.png文件类型选择
image.png首先新建一个C++类型的Blueprint Function Library。建好后会自动打开VS(我这里新建时用的默认名字MyBlueprintFunctionLibrary)
MyBlueprintFunctionLibrary.h中代码如下
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyBlueprintFunctionLibrary.generated.h"
/**
*
*/
UCLASS()
class TESILIAN_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "MyCreate")
static void GetLocalIP(FString& TheIP, FString& ThePort);
};
MyBlueprintFunctionLibrary.cpp中代码如下
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyBlueprintFunctionLibrary.h"
void UMyBlueprintFunctionLibrary::GetLocalIP(FString& TheIP, FString& ThePort)
{
if (!GConfig)
{
//GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("return")));
return;
}
GConfig->GetString(TEXT("UDP"),TEXT("ServerIP"),TheIP,GGameIni);
GConfig->GetString(TEXT("UDP"),TEXT("Port"),ThePort,GGameIni);
//获取其他类型的同理
FString::Printf(TEXT("C++ Print")));
}
保存,然后再UE中编译 ,一定要编辑,等待编辑成功
编译成功之后,我们就可以在蓝图中调用这个节点了,请注意.h文件中我们自定义了一个叫"MyCreat[图片上传中...(image.png-753f5f-1651912053278-0)]
e"的Category,在蓝图中可以在这个类下面找到我们封装好的节点
image.png
image.png
就可以调用了,注意:如果是打包成EXE文件的话,请在打包之后先运行一次程序,然后会自动在WindowsNoEditor\项目名称\Saved\Config\WindowsNoEditor下生成一个Game.ini,我们把需要的信息放在里面就好了,如下所示
image.png
如果没有就自己写下
image.png
有时蓝图中需要添加self指向,如下图,可以注册对应函数类,然后进行self接口指向
image.png
image.png
网友评论