SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › не могу убить игрока › Ответ в теме: не могу убить игрока
Игрок взаимодействует с монстрами благодаря условию
C++
1 |
if((*it)->getRect().intersects(p.getRect())) |
в котором проверяется пересечение его прямоугольника с объектами списка entlist, то есть монстрами.
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class Entity{ public: int health; //здесь идут все остальные параметры Entity(int N, остальные параметры){ health = N; //остальные параметры } }; class Player: public Entity{ public: Player(int N, остальные параметры): Entity(N, остальные параметры){ //остальные параметры } }; Player p(123, остальные параметры); std::cout << "p.health: " << p.health << std::endl; |
Если в классах так задавать здоровье, думаю всё должно быть нормально. Надо вывести в консоль здоровье сразу после создания игрока и потом смотреть, где оно может измениться (я так понял, оно меняется только при боковом столкновении с монстром).