Задать вопрос
@Quark_Hell
C++ программист

Как получить ссылку на UI элемент в с++?

Здравствуйте. Я создал UI через Blueprint class(Widget) и теперь хочу получить ссылку в c++ на его элементы(кнопки,картинки и т.д.).Как это можно сделать?
  • Вопрос задан
  • 223 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Разработка игр на Unreal Engine с нуля
    4 месяца
    Далее
  • Skillbox
    Разработчик игр на Unreal Engine 4 с нуля до Middle
    12 месяцев
    Далее
  • Академия Eduson
    Разработчик игр на Unreal Engine
    9 месяцев
    Далее
Решения вопроса 1
@Quark_Hell Автор вопроса
C++ программист
Не используйте NewObject для получения ссылки на UUserWidget класс.При таком подходе BindWidget просто не сработает и ваши ссылки на виджеты будут равны null.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Например можно сделать так. Создаю в блюпринт виджете кнопку "Say Hello world".
60521fcbbf74d488495348.png

Далее, например в С++ классе GameMode добавлю новую функцию, которая будет выводить сообщение на экран.
GameMode.h
UFUNCTION(BlueprintCallable, Category = "Custom")
		void SayHello();


GameMode.cpp
void AMyGameModeBase::SayHello()
{
	GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Orange, TEXT("Hello World"));
}


Компилируем проект и возвращаемся к виджету.

Создаем эвент для новой кнопки, далее обращаемся к текущему GameMod'у и ищем во вкладке Custom нашу функцию.
60522168d8315077952944.png

Проверяем.
605222a408598066229738.jpeg

Все работает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы