PDA

Показать полную графическую версию : Помогите домыслить исходник!


androidz
31-05-2009, 20:42
Вообщем такая ситуация, есть шарик сделанный через канву, уже бегает и отскакивает (в PaintBox'e).

Нужно сделать следующее:
Сделать так чтобы шарик отбивался тенисной ракеткой, сама ракетка уже на форме в PNG формате.
Вот низнаю как сделать чтобы от Image отскакивал шарик, и ещё нужно сделать ракетку так чтобы она двигалась мышкой.

Исходник (http://android.m-sk.ru/sharik.rar) (286Кб)
Исходник + PNG Component (http://android.m-sk.ru/sharik_pngcom.rar) (911Кб)

androidz
01-06-2009, 15:08
Ну подскажите кто нибудь..
А то я 4 часа экспериментировал, не чо толкового не получается :(

pva
01-06-2009, 15:50
тебе нужно решить задачу пересечения 2-х отрезков: траектории шарика между двумя кадрами и отрезка, который имитирует поверхность ракетки (если ракетка всегда будет находиться под одним углом). В точке пересечения делаешь "отражение", то есть из скорости шарика вычитаешь удвоенную проекцию на нормаль к отрезку ракетки. Для убедительности можно и конечную точку отразить, а можно и не отражать.

androidz
01-06-2009, 16:21
ага, мне бы ещё код примерный увидеть :)
я ещё новичок в программинге :)
поэтому как всё правильно записать низнаю :(

pva
01-06-2009, 23:32
Вот пример кода на C++ Builder, проблема в том, что он глюкавый, не могу найти где ошибся. Но основную идею иллюстрирует. Ещё в архиве есть файл от математики 4.0, чтоб проверить вычисления.

pva
02-06-2009, 13:33
Исправленный вариант: всё равно иногда пропускает мимо ракетки, но это из-за упрощений. Иногда не понятно, на опережение работает или отстаёт. Параметры отображения подобраны для наиболее гладкого видеоэффекта. Управление: колесо мыши (чтобы поворачивать ракетку) и перемещение. Фращение ракетки не участвует в рассчёте физики, поэтому отбивать шар вращением бесполезно.

androidz
02-06-2009, 15:57
Спасибо :)




© OSzone.net 2001-2012