【发布时间】:2016-06-03 17:41:16
【问题描述】:
如何在蓝图中调用 c++ 变量。我创建了一个小部件蓝图,我必须在该蓝图中的文本块中显示一个变量值。该变量是从 c++ 获得的。可能吗。?请帮忙.....
【问题讨论】:
标签: unreal-engine4
如何在蓝图中调用 c++ 变量。我创建了一个小部件蓝图,我必须在该蓝图中的文本块中显示一个变量值。该变量是从 c++ 获得的。可能吗。?请帮忙.....
【问题讨论】:
标签: unreal-engine4
使用UPROPERTY 宏为您声明的下一个变量指定属性。在这种情况下,您可能需要使用 BlueprintReadOnly 属性。
所以如果你的变量声明是这样的:
int widgetValue
你必须添加这个:
UPROPERTY(BlueprintReadOnly)
int widgetValue
这将使变量在蓝图中可读,但不允许您通过这些方式对其进行修改。
【讨论】:
这是我如何在 Unreal 中使用 C++ 管理小部件的示例
您想创建一个自定义小部件作为小部件的基础。为此,请创建一个继承自 UUserWidget 的 C++ 类:
// Copyright 2014-2016 Blackbriar Softworks, Inc. All Rights Reserved.
#pragma once
#include "Blueprint/UserWidget.h"
#include "XUserWidget.generated.h"
/**
*
*/
UCLASS()
class UNSUNGHEROES_API UXUserWidget : public UUserWidget
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "XConfiguration")
FString WidgetName;
};
在编辑器中,您现在要重新设置您想要访问自定义属性的小部件:
打开 Widget -> File -> Reparent Widget -> 你的 C++ Widget 类名
现在您可以访问蓝图小部件内的 WidgetName 或使用数据绑定来显示值。/
这是您将属性公开给蓝图的地方:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "XConfiguration") FString WidgetName;
【讨论】: