{"id":3824,"url":"\/distributions\/3824\/click?bit=1&hash=a0d33ab5520cacbcd921c07a49fc8ac5b78623b57936b992ce15c804b99210d4","title":"\u041a\u0430\u043a\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0442\u044c \u043d\u0430 DTF \u0438 \u043a\u0442\u043e \u0435\u0451 \u0443\u0432\u0438\u0434\u0438\u0442","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"75ec9ef4-cad0-549d-bbed-1482dc44e8ee","isPaidAndBannersEnabled":false}
Вопросы
Артём Идиотов

Вопрос по поводу ссылок на конкретного актёра в Blueprints UE4

Добрый день! Подскажите пожалуйста, как правильно дать ссылку на конкретного актёра, в котором вызывается виджет компонент уже на сцене. Логика на нажатие кнопки на виджете работает, но не относительно того актёра, на виджете которого была нажата, а по очереди в каждом.

Вот так выглядит интерфейс функция дестроя в самом актёре

Показываю виджет над актёром следующим образом (может уже неправильно)

А вот логика из самого виджета:

Как я только там не пытался делать касты, такого цирка вы наверняка ещё не видели! Однако этот способ оказался рабочим, но теперь мне нужно понять, как давать ссылку, чтобы по нажатию этой кнопку удалялся именно тот актёр, на котором был вызван виджет. Мне нужно написать дополнительно проверку открыт ли виджет? (это я щас придумал). Так же, пересмотрел прилично уроков по ссылкам, но конкретно в этой ситуации я выхода не нашёл! Подскажите пожалуйста, как пояснить кнопке в подобной ситуации, к какому конкретно объекту нужно обращаться.

0
16 комментариев
Написать комментарий...
Психический холод
как пояснить кнопке в подобной ситуации

Вызвать раз на раз и пояснить за базар

Ответить
Развернуть ветку
ANDRAMIR

Чел, извини, но это невыносимо читать

Ответить
Развернуть ветку
Артём Идиотов
Автор

А ты картинки смотри

Ответить
Развернуть ветку
ANDRAMIR

Так ты актора в виджет записывай. Сделай в виджете переменную, которая будет сохранять нужный тебе актор, и при создании виджета записывай актора в котором создаётся виджет

Ответить
Развернуть ветку
Артём Идиотов
Автор

Спасибо, попробую этот метод

Ответить
Развернуть ветку
ANDRAMIR
Ответить
Развернуть ветку
Артём Идиотов
Автор

А вот "Create Widget" где создавать? В акторе или виджете? Просто у меня же виджет в акторе запускается автоматически как компонент, он просто скрыт и становится видимым по клику. Получается он же по дефолту есть, создан и нет смысла делать через "Create Widget" опять? Как показано я сделал, пробовал разные варианты, но ничего не вышло.

Ответить
Развернуть ветку
ANDRAMIR

Как бы я сделал. В акторе на begin play повесил Create widget и сразу бы скрыл его. А при OnClicked Event просто делал бы его видимым. А логика была бы написана в виджете, ну или как ты, перекинул бы её через интерфейс. Твоя проблема в том, что ты берёшь рандомный(на самом деле нет, там есть своя логика) актор со сцены, а тебе нужен конкретный.

Ответить
Развернуть ветку
Ярослав Голубев

Я что то похожее видел
Это надо искать уроки "как делать" миниигры и головоломки.

Вот тебе такое нужно?

Ответить
Развернуть ветку
Артём Идиотов
Автор

Не, всё намного сложнее. В любом случае спасибо за видео, пригодится)

Ответить
Развернуть ветку
Ярослав Голубев

Копай в направление уроков по минииграм и головоломок думаю там есть решения что тебе нужны.

Ответить
Развернуть ветку
Ярослав Голубев

Но насколько понимаю - если ты собираешься что то сложное собирать - то это проще на С++ коде делать, чем вызывать проверки трассировки от экрана игрока

Ответить
Развернуть ветку
Aleksei Gusev

А через get hitresult under cursor нельзя сделать сслыку на кокретного актера?

Ответить
Развернуть ветку
ТехноДжигит KZ

Легко. Сохраняй подсвечиваемого актора в выделенную переменную в БП классе GameMode. Можешь скинуть запакованный проект, я тебе быстро это сделаю

Ответить
Развернуть ветку
Артём Идиотов
Автор

Хотелось бы разобраться самому, но спасибо за предложение!)

Ответить
Развернуть ветку
ТехноДжигит KZ

Надо бы тебе более ясно формулировать свои мысли

Ответить
Развернуть ветку
Читать все 16 комментариев
null