Ответ в теме: не могу убить игрока

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics не могу убить игрока Ответ в теме: не могу убить игрока

#4655

tobidashi
Участник
Сообщений:16

Зарегистрирован:
25.05.2017

Репутация:7

Serob, теперь видно, что игрок получает урон от монстров. Если хотите, чтобы он исчезал с экрана, то нужно его добавить в список entities. Только сперва нужно подкорректировать переменную p.health. Вы говорите, что она может принимать значения от -3000 до -9000. В конструкторе класса entity есть строка if (health <= 0) { life = false; }. В функции update из класса Player у вас есть условие if (health <= 0) { life = false; }. Получается, что у игрока life всегда равна false. Лучше p.health задать равной положительному значению (например, 100), тогда после нескольких столкновений с монстром p.health станет отрицательной и p.life станет равна false. Когда вы пройдёте по списку entities, все у кого life == false, будут из него удалены и перестанут отображаться на экране.