Полезное

Мы Вконтакте

Discord канал

#
12
След.
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 4069
а переменная GunFire в персонаже или где?
Аватара пользователя
Пользователь
Сообщения: 77
Мы сейчас пойдем по второму кругу, т.к. на первой странице я все расписал. Давай так, я уже запутался) Предлагаю, решить задачу с чистого листа, есть:
1. пушка
2. снаряд пушки
3. персонаж.
На данный момент пушка реагирует, когда персонаж подходит на определенное к ней расстояние. Если персонаж далеко, она не стреляет. Задача в том, чтобы пушка прекратила стрелять, если персонаж убит. Кол-во пушек на уровне не ограничено. Спасибо)
Аватара пользователя
Пользователь
Сообщения: 237
У пушки есть четыре состояния:
1. Нет цели и она в состоянии Idle
2. Цель есть, но она умерла - Health==0, значит сделать цель NULL и перейти к пункту 1.
3. Цель есть, она жива, стреляем.
4. Цель == NULL, но игрок входит в зону отстрела - назначаем игрока в качестве цели и переходим к п 2, если Health==0. И продолжаем/начинаем стрелять в цель.
Последний раз редактировалось Dany 21 фев 2018, 13:02, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 4069
1. Пушка перед выстрелом делает каст на персонажа, и проверяет его ХП, или булевую переменную если такая есть, например IsDead
2. Если HP <= 0, или IsDead = true, тогда ничего не делать, или остановить таймер который отвечает за стрельбу, не знаю как у тебя это там реализовано.

Это было предложено еще на прошлой странице.

p.s. дал ответ(написал пост), до того как увидел пост Dany
Аватара пользователя
Пользователь
Сообщения: 77
Спасибо вам за помощь, но логику на бумаге я понять могу, я ее реализовать не в состоянии. Недаром написал пример о двери и ключе. Там персонаж сначала пересекается с любым ключом и он записывается в массив, а потом идет к двери и пересекается с дверью, где этот массив считывается.

Допустим, если я делаю каст с пушки на персонажа, это понятно. Но дальше как мне обратно передать от персонажа его состояние пушки? Опять через каст? А если пушек 10-ть, выходит 10-ть кастов? Поэтому я и хотел через интерфейс сделать.
Я думал, что достаточно внутри персонажа, где сверяется его жизнь =<0, далее вставить мэсседж "конверт" (ссылка на интерфейс) с переменной GunFire (тип переменной - BP_Pushka). А в самой пушке вызвать событие интерфейса с булевой переменной, которая и отвечала, будет срабатывать пушка или нет. Проблема в том, что событие интерфейса в пушке не срабатывает.
Аватара пользователя
Пользователь
Сообщения: 4069
эта логика должна быть в пушке, если тебе нужно записать в переменную туда куда кастуешь, вытаскиваешь переменную через Set, если нужно получить данные из переменной, вытаскиваешь через Get

http://picua.org/img/2018-02/21/vszeyd2 ... 7tj8id.png

p.s. налицо отсутствие даже самых базовых знаний, рекомендую повторять и повторять уроки.
Аватара пользователя
Пользователь
Сообщения: 77
Спасибо! Все получилось) Чтобы не вставать из-за стола дважды, как будет обыграна это ситуация, если пушка будет спавнится? Я ведь к этому приду, когда займусь генерацией уровня. В чем там отличие.

А по поводу базовых знаний, на то они и базовые, что дают начальное представление. Но дьявол в мелочах и о том, что можно из каста вытащить переменную я встречал в примерах, но забыл об этом. В любом случае, спасибо!
Аватара пользователя
Пользователь
Сообщения: 4069
unreal4 писал(а):
Спасибо! Все получилось) Чтобы не вставать из-за стола дважды, как будет обыграна это ситуация, если пушка будет спавнится? Я ведь к этому приду, когда займусь генерацией уровня. В чем там отличие.


действие в персонаже

http://picua.org/img/2018-02/23/ebv09yi ... nor4k4.png

или, действие в пушке

http://picua.org/img/2018-02/23/eopuoaq ... qu65gp.png


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница