07.02.2009, 12:34 | #1 (ссылка) |
Новичок
Регистрация: 07.02.2009
Сообщений: 18
Репутация: 0
|
Помогите написать гоночки!!! Delphi
Вот решил на выходных написать игру на Delphi. Визуально все готово: машинка (picture1) езет по дороге, навстречу ей едут другие машинки... Проблема вот в чем. Никак не дотумкаю как запрограмировать столкновения машинок, ну чтоб событие происходило именно тогда, когда два пикчера (picture) сталкивались друг с другом своими границами.
|
07.02.2009, 13:56 | #2 (ссылка) |
Новичок
Регистрация: 15.11.2008
Сообщений: 1,040
Репутация: 40
|
Посмотрите пожалуйста вот сюда http://programmersforum.ru/archive/index.php/f-33.html здесь много ответов на вопросы)))
|
07.02.2009, 18:00 | #3 (ссылка) |
Новичок
Регистрация: 05.01.2009
Сообщений: 95
Репутация: 0
|
Если вы решыли написать игру, я рекомундую вам использовать какойнибудь готовый бесплатный движок! Так игра получается получше и более плавной(у вас машинки при езде не дергает??).Все зависит от сложности игры. Если машинки размещены паралельно дороге и не поворачиваются(как в тетрисе) и перемещаются по 1 пикселю за 1 раз, то ето не сложно сделать.
Если машинка - четыреугольник, тогда вы опредиляете не находится ли угол машинки 1 в машинке 2. Например для угла 1(левый верхний): if (image1.Left>Image2.Left) and (image1.Left<image2.Left+image2.width) and (image1.top>image2.top) and (image1.top<image2.top+image2.height) then Для угла2(правый верхний): if (image1.Left+image1.width>Image2.Left) and (image1.Left+image1.width<image2.Left+image2.width ) and (image1.top>image2.top) and (image1.top<image2.top+image2.height) then Для угла3(левый нижний): if (image1.Left>Image2.Left) and (image1.Left<image2.Left+image2.width) and (image1.top+image1.height>image2.top) and (image1.top+image1.height<image2.top+image2.height ) then Для угла4(правый нижний): if (image1.Left+image1.width>Image2.Left) and (image1.Left+image1.width<image2.Left+image2.width ) and (image1.top+image1.height>image2.top) and (image1.top+image1.height<image2.top+image2.height ) then Попробуйте проверить таким образом столкновение 2 машинок и у вас все должно получится! Правда если машинки перемещаются больше чем 1 пиксель за 1 раз, то перед столкновением машинки слехка заедут 1 на 2! |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите написать программу в Qbasic | DAmir13 | Программирование | 15 | 28.05.2011 21:03 |
Пожалуйста, помогите написать макрос, способный вставить нужный символ | aryumin | Офис | 2 | 10.12.2010 20:34 |
Delphi | Max_NV | Программы | 1 | 02.12.2010 23:07 |
Помощь Delphi | Pfeil | Программирование | 0 | 02.11.2010 13:12 |
не могу написать ответ | novichek | Интернет и сети | 2 | 26.10.2010 18:51 |
Как написать дробь в html | DyH9l | Веб-строительство | 5 | 20.05.2010 14:43 |
Не могу ничего написать | Mana | Интернет и сети | 6 | 11.12.2009 16:03 |
Delphi 7 | Котакот | Программирование | 4 | 05.01.2009 17:48 |
C#-требуется помощь, срочно!Помогите написать приложение! | Unusual | Программирование | 2 | 14.12.2008 17:14 |
Помогите написать прогу! | Fuj_1000 | Программирование | 4 | 02.07.2008 20:54 |
Как написать прогу:)... | Fuj_1000 | Программы | 3 | 13.03.2008 09:03 |
Delphi | 1223 | Программирование | 1 | 09.11.2007 21:46 |