SFML и C++ Уроки \ Разработка игр › Форумы › Домашние задания › Урок 25 ДЗ(1-3) › Ответ в теме: Урок 25 ДЗ(1-3)
“задание 3:
при столкновении игрока с врагом толкнуть в сторону игрока, нанести ему урон. особое внимание уделить выталкиванию игрока рядом со стеной, т.к его может телепортировать немного не туда. враг при этом не должен останавливаться.”
в теории вижу небольшое реш-е: игрока толкнуть можно попробовать с помощью dx+- или x+-. сделать переменную isCollisionWithEnemy = true в момент контакта с врагом , и потом когда проверяешь коллизию со стеной и при этом эта переменная ==true, то проверить будет ли коллизия со стеной, если игрока толкнуть на какое то расстояние (задав искусственно небольшое смещение по Х в сторону толчка), и если такая коллизия будет, то (полет фантазии):
получается игрок умрёт , т.к на него полностью наедут, а не оттолкнут, при это не отталкивать его вовсе.
ещё можно оттолкнуть попробовать , дав резко ускорение игроку как когда он ходит влево вправо (тоже ускорения имеет), только побыстрее. может засчёт этой плавности проверка сработает на стену лучше.
как на практике там в коде я уже и не помню, но думаю можно сделать. просто мысли в голове