Показать сообщение отдельно
Старый 31.01.2013, 21:59
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 4  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Можно просчитывать время (кадры) через которое произойдет столкновение. Особенно полезно при большой скорости.
Можно найти уравнение прямой по двум точкам формуле
Код:
(x-x1)/(x2-x1) = (y-y1)/(y2-y1)
где две точки имеют координаты (x1,y1) и (x2,y2)
То есть первая точка - начальное положение шарика, а вторая - то, куда он переместиться при данной скорости.
По этому уравнению можно посчитать, с каким блоком и через сколько кадров столкнется шарик (даже если просто проверять точки на этой прямой на хиттест с блоком, с шагом, скажем, 2 пикселя)
В тот кадр, когда по нашим вычислениям происходит столкновение, принудительно ставим шарик на границу с блоком, проводим изменения скорости (умножение на -1 отдельных составляющих, как у Вас уже есть) и все, в целом вот