![]() |
Помогите домыслить исходник!
Вообщем такая ситуация, есть шарик сделанный через канву, уже бегает и отскакивает (в PaintBox'e).
Нужно сделать следующее: Сделать так чтобы шарик отбивался тенисной ракеткой, сама ракетка уже на форме в PNG формате. Вот низнаю как сделать чтобы от Image отскакивал шарик, и ещё нужно сделать ракетку так чтобы она двигалась мышкой. Исходник (286Кб) Исходник + PNG Component (911Кб) |
Ну подскажите кто нибудь..
А то я 4 часа экспериментировал, не чо толкового не получается :( |
тебе нужно решить задачу пересечения 2-х отрезков: траектории шарика между двумя кадрами и отрезка, который имитирует поверхность ракетки (если ракетка всегда будет находиться под одним углом). В точке пересечения делаешь "отражение", то есть из скорости шарика вычитаешь удвоенную проекцию на нормаль к отрезку ракетки. Для убедительности можно и конечную точку отразить, а можно и не отражать.
|
ага, мне бы ещё код примерный увидеть :)
я ещё новичок в программинге :) поэтому как всё правильно записать низнаю :( |
Вот пример кода на C++ Builder, проблема в том, что он глюкавый, не могу найти где ошибся. Но основную идею иллюстрирует. Ещё в архиве есть файл от математики 4.0, чтоб проверить вычисления.
|
Исправленный вариант: всё равно иногда пропускает мимо ракетки, но это из-за упрощений. Иногда не понятно, на опережение работает или отстаёт. Параметры отображения подобраны для наиболее гладкого видеоэффекта. Управление: колесо мыши (чтобы поворачивать ракетку) и перемещение. Фращение ракетки не участвует в рассчёте физики, поэтому отбивать шар вращением бесполезно.
|
Спасибо :)
|
Время: 08:01. |
Время: 08:01.
© OSzone.net 2001-