在 Widget 蓝图中调用 c++ 函数
Call c++ function in Widget blueprint
我创建小部件,继承自下面的 C++ class。
#pragma once
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Widget_Manager.generated.h"
UCLASS()
class CRY_API UWidget_Manager : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite, Category ="test")
int32 x;
UFUNCTION(BlueprintCallable, Category = "test")
int32 increase_x(int32 i);
};
我想输出value1中x的值,然后增加,输出到value2。
我的问题是蓝图看不到函数 increase_x()
。
不在元素列表中,不在函数搜索中。
我也尝试了 属性 CallInEditor
。
如何在小部件中调用此功能?
请确保您没有使用热重载(编辑器中的编译 C++ 按钮)。
如果您更改了 C++ 代码,尤其是 Headers,请始终关闭编辑器并从 Visual Studio 重新编译它。 Hot Reload 无法解析对 Header 文件的更改,这意味着如果您使用 Hot Reload 直到从 Visual Studio.
进行重新编译,蓝图中将无法使用函数和新属性等内容
另外,最好将上下文敏感度保持打开状态。
我创建小部件,继承自下面的 C++ class。
#pragma once
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Widget_Manager.generated.h"
UCLASS()
class CRY_API UWidget_Manager : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite, Category ="test")
int32 x;
UFUNCTION(BlueprintCallable, Category = "test")
int32 increase_x(int32 i);
};
我想输出value1中x的值,然后增加,输出到value2。
我的问题是蓝图看不到函数 increase_x()
。
不在元素列表中,不在函数搜索中。
我也尝试了 属性 CallInEditor
。
如何在小部件中调用此功能?
请确保您没有使用热重载(编辑器中的编译 C++ 按钮)。
如果您更改了 C++ 代码,尤其是 Headers,请始终关闭编辑器并从 Visual Studio 重新编译它。 Hot Reload 无法解析对 Header 文件的更改,这意味着如果您使用 Hot Reload 直到从 Visual Studio.
进行重新编译,蓝图中将无法使用函数和新属性等内容另外,最好将上下文敏感度保持打开状态。