Как вызвать функцию из С++ в схему виджета в Unreal Engine

Как я могу вызвать переменную С++ внутри плана. Я создал план виджета, и мне нужно отобразить значение переменной в текстовом блоке внутри этого плана. Переменная получена из С++. Является ли это возможным.? Пожалуйста помоги.....


person amal raj    schedule 22.02.2016    source источник


Ответы (2)


Используйте макрос UPROPERTY, чтобы указать свойства для следующая переменная, которую вы объявляете. В этом случае вы можете использовать Свойство BlueprintReadOnly.

Итак, если ваше объявление переменной выглядит так:

int widgetValue

Вы должны добавить это:

UPROPERTY(BlueprintReadOnly)
int widgetValue

Это сделает переменную доступной для чтения в чертежах, но не позволит вам изменить ее с помощью этих средств.

person TZubiri    schedule 26.02.2016

Вот пример того, как я управляю своими виджетами в Unreal с помощью C++.

Вы хотите создать пользовательский виджет, на котором будут основываться ваши виджеты. Для этого создайте класс C++, наследуемый от UUserWidget:

// 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;
};

Внутри редактора вы хотите переназначить виджет, который вы хотите иметь доступ к пользовательским свойствам:

Открыть виджет -> Файл -> Родительский виджет -> Имя класса виджета C++

теперь вы можете получить доступ к WidgetName внутри виджета схемы или использовать привязку данных для отображения значений./

Здесь вы предоставляете собственность чертежам:

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "XConfiguration") FString WidgetName;

person Ben Pretorius    schedule 28.05.2016