Добрый вечер, начал изучать c++ под UE 4.27. Столкнулся со следующей проблемой, нужно получить ссылку на Актора из другого класса, и изменить его координаты, проект был ранее написан на BP, и в них это решалось очень просто, с плюсами, пока, не выходит. Подскажите, пожалуйста, решение
Вопрос так поставлен, что даже не хочется разбираться что нужно сделать.
Опишите, пожалуйста, что вы делаете и что не получается.
@!!ex
Пытаюсь отобрать актора через AActor*, как должна выглядеть строка для получения конкретного актора (По имени/классу)?
Где находится ваш актор? Как вы его в блюпринтах брали?
@!!ex
В блюпринтах брал его через переменную типа Actor, в которую заносил ссылку на сам актор
Мой актор - классический FlyingPawn.
(Если я правильно понимаю.)
Это задачка для нуба самая примитивная тупа тест на интеллект.
JosBast_
Пример своего блюпринта где ты брал актора покажи. Прям скриншот нодов.
Начните с прочтения книги по с++. Или вообще лучше не лезть в си с такими познаниями, работайте с БП, они созданы именно для таких.
По теме:
TArray<AActor*> FoundActors; UGameplayStatics::GetAllActorsOfClass(GetWorld(), YourClass::StaticClass(), FoundActors);
https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/GameF… ctorLocation/
inc_ani
> UGameplayStatics::GetAllActorsOfClass
Примечания
Найдите всех Актеров в мире указанного класса. Это медленная операция, используйте ее с осторожностью, например, не используйте каждый кадр.
На мой взгляд это решение херня и лучше при спавне его заносить
ну или гет плеер контроллер[0] или как там
inc_ani
UGameplayStatics::GetAllActorsOfClass
Зачем такие вредные советы раздавать, если мы даже не знаем откуда и для чего автору надо ссылку на актора получать
Tony Lynx
endeavour_pr
Нет плохих функций, есть их неправильное применение.
А на этом форуме большинство не в состоянии сформулировать вопрос. Таким уже не помочь все равно.
фигасе эпики вики перекрасили
https://dev.epicgames.com/documentation/en-us/unreal-engine/Bluep… n_version=5.3
Так можно получить спавнящийся дефолтный павн из гейм мода, но ни разу так не делал.
inc_ani
> Таким уже не помочь все равно
Таки да.
если изучаешь, с базы начинать нужно.
с другой стороны, если нужно раз в год вынужденно написать что то в с++, ибо оно закрыто для блюпринтов за каким то кхорном, изучать с++? отсюда и вопросы "расскажите о том не зная о чем".
кстати раз тут такая тема, а можно из с++ получить ссылку на блюпринт класс ? не базовый а конкретный экземпляр ?
сделать сабсистем или что то вроде, который кинет каст на блюпринт и вернет его?(с его функционалом собсно)
как GetGameInstance, или SubSystem? не особо нужно, просто интересно.
Тема в архиве.
Тема закрыта.