Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 07.02.2009, 12:34   #1 (ссылка)
Новичок
 
Регистрация: 07.02.2009
Сообщений: 18
Репутация: 0
По умолчанию Помогите написать гоночки!!! Delphi

Вот решил на выходных написать игру на Delphi. Визуально все готово: машинка (picture1) езет по дороге, навстречу ей едут другие машинки... Проблема вот в чем. Никак не дотумкаю как запрограмировать столкновения машинок, ну чтоб событие происходило именно тогда, когда два пикчера (picture) сталкивались друг с другом своими границами.
versus88 вне форума  
Старый 07.02.2009, 13:56   #2 (ссылка)
Новичок
 
Регистрация: 15.11.2008
Сообщений: 1,040
Репутация: 40
По умолчанию

Посмотрите пожалуйста вот сюда http://programmersforum.ru/archive/index.php/f-33.html здесь много ответов на вопросы)))
monte-kristo вне форума  
Старый 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!
bober вне форума  
Старый 03.03.2009, 08:08   #4 (ссылка)
Новичок
 
Регистрация: 03.03.2009
Сообщений: 1
Репутация: 0
По умолчанию

Слушай а ты не пытался просто скачать игру?
Тоша вне форума  
Старый 08.03.2009, 20:51   #5 (ссылка)
Новичок
 
Регистрация: 08.03.2009
Сообщений: 8
Репутация: 0
По умолчанию

Цитата:
Сообщение от Тоша Посмотреть сообщение
Слушай а ты не пытался просто скачать игру?
Ты не понимаешь,скачать и играть в игру это одно ощущение.А самому сделать и играть,это уже совсем другое,неописуемое чувство (=
Derik вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать программу в 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


Текущее время: 09:22. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.