В настоящее время я создаю java-игру для Android. Этакая игра типа лунного посадочного модуля. Я хочу реализовать какие-то препятствия и выбрал астероиды, которые будут случайным образом размещаться на экране.
Тем не менее, я изо всех сил пытаюсь понять, как насчет обнаружения столкновений для них. Я буду использовать изображения для астероидов, поэтому могу легко использовать прямоугольную ограничивающую рамку для каждого изображения, но, поскольку астероиды круглые (по крайней мере, мои будут такими!), столкновение может быть обнаружено при движении сразу за угол прямоугольника. , который визуально не является частью астероида.
Я предполагаю, что мне нужно использовать какие-то ограничивающие круги, но не совсем уверен, как я могу настроить это с изображениями?
Думаю, если бы все астероиды были одинакового размера, я мог бы жестко закодировать некоторые точки для круглой/многоугольной ограничивающей рамки, а затем преобразовать их в положение изображений — так что, по сути, многоугольник — это форма астероида?
Любые предложения о наилучшем способе сделать это были бы замечательными. Кроме того, если бы кто-то мог придумать какой-нибудь высокоуровневый псевдокод обнаружения столкновений, это было бы признательно :)
collision = distance(c1.center,c2.center) < c1.radius+c2.radius
. - person A. Rodas   schedule 03.03.2013