@Nem0_o

Как сделать отскок шаров от краев экрана и от друг друга?

Есть 2D шар, с координатами - x, y; скоростью движения - speed и углом, под которым он двигается - angle.

Нужен алгоритм, чтобы при движении 1. шар отскакивал от установленных рамок и 2. шар отскакивал от другого шара?

Сделал так, чтобы при столкновении в край экрана шар отлетал в противоположную сторону:

if(x>0 && y>0 && y<screenHeight && x<screenWidth)
{
	x+=dt * speed*cosf(angle * math::PI / 180 );
	y+=dt * speed*sinf(angle * math::PI / 180);
			
		if((x<0) || (y<0) || (x>screenWidth) || (y>screenHeight))
		{
			angle+=180;
			if(angle >360)
				angle-=360;
		}
}


Также все шары одинаковые по размеру.
  • Вопрос задан
  • 5198 просмотров
Пригласить эксперта
Ответы на вопрос 2
0neS
@0neS
Ответ написан
Комментировать
Akite
@Akite
UX/UI Designer
Вам нужно нечто подобное?
Можно попробовать взять за основу этот алгоритм.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы