【问题标题】:How to call a function from c++ to a widget blueprint in Unreal Engine如何从 C++ 调用函数到虚幻引擎中的小部件蓝图
【发布时间】:2016-06-03 17:41:16
【问题描述】:

如何在蓝图中调用 c++ 变量。我创建了一个小部件蓝图,我必须在该蓝图中的文本块中显示一个变量值。该变量是从 c++ 获得的。可能吗。?请帮忙.....

【问题讨论】:

    标签: unreal-engine4


    【解决方案1】:

    使用UPROPERTY 宏为您声明的下一个变量指定属性。在这种情况下,您可能需要使用 BlueprintReadOnly 属性。

    所以如果你的变量声明是这样的:

    int widgetValue
    

    你必须添加这个:

    UPROPERTY(BlueprintReadOnly)
    int widgetValue
    

    这将使变量在蓝图中可读,但不允许您通过这些方式对其进行修改。

    【讨论】:

      【解决方案2】:

      这是我如何在 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;

      【讨论】:

        猜你喜欢
        • 2015-02-04
        • 1970-01-01
        • 2020-07-16
        • 1970-01-01
        • 1970-01-01
        • 2018-06-21
        • 2019-09-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多