Как я могу получить ссылку на объект в мире в UE4?

Я кодирую простую игру в лабиринте в UE4, и у меня есть все, что я хотел реализовать, за исключением наличия препятствия на сцене. У меня есть простой класс Obstacle, который является дочерним элементом Actor.

Теперь на сцене у меня есть Blueprint, который является дочерним элементом Obstacle, а этот Blueprint помещается в лабиринт. То, что я пытаюсь достичь, - это когда игрок собирает так много объектов (допустим, 10), тогда Obstacle будет уничтожен, но я не буду Не знаю, как получить ссылку на этот объект Obstacle в моем коде.

AObstacle* Obstacle /////// This is where I don't know how to initialize the object
if (MyCharacter->collectedPickUps >= requiredAmountOfPickups)
{
    Obstacle->Destroy();
    Obstacle->isActive = false;
}
5 голосов | спросил holyglokk 18 ThuEurope/Moscow2014-12-18T23:26:38+03:00Europe/Moscow12bEurope/MoscowThu, 18 Dec 2014 23:26:38 +0300 2014, 23:26:38

1 ответ


5

Мне удалось разобраться. В основном я должен использовать итератор-актер, который выполняет итерацию через каждый объект Obstacle в игровом мире. Вот код:

for (TActorIterator<AObstacle> ObstacleItr(GetWorld()); ObstacleItr; ++ObstacleItr)
{
    if (MyCharacter->collectedPickUps >= requiredAmountOfPickups)
    {
        ObstacleItr->Destroy();
        ObstacleItr->bIsActive = false;
    }
}
ответил holyglokk 19 FriEurope/Moscow2014-12-19T00:12:40+03:00Europe/Moscow12bEurope/MoscowFri, 19 Dec 2014 00:12:40 +0300 2014, 00:12:40

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132