Ответ в теме: Обнаружение персонажа врагом

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

#2162
+1
Yurec
Yurec
Участник
Сообщений:8

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

Репутация:2

я зделал через создание круглой формы, радиус которой равен радиусу поражения юнита, дальше
CircleShape AttackRangeCircle;
AttackRangeCircle.setRadius(attack_radius);

установил этот круг в центр моего юнита в команде update(), теперь он будет двигаться с моим юнитом:
AttackRangeCircle.setPosition(x – AttackRangeCircle.getRadius(), y – AttackRangeCircle.getRadius());//обновляем положение круга который является радиусом атаки обьекта

и в игровом цикле установил проверку на пересечение с обьектами через функцию:
if (Object1->AttackRangeCircle.getGlobalBounds().intersects(Object2->sprite.getGlobalBounds()))
{
return true;
}
когда спрайт объекта2 попадает на форму круга объекта1, функция возвращает true и первый обьект стреляет во второй.