Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 16:28   #1
virus88
 
Регистрация: 07.10.2008
Сообщений: 4
По умолчанию Как запрограмировать столкновение двух обьектов (например image1 и image2)?

как прописать чтобы событие происходило в момент соприкасания двух image между собой во время их движения? Типа if <Столкнулись image1 и image2> then
virus88 вне форума Ответить с цитированием
Старый 28.05.2009, 16:33   #2
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Код:
if ((image1.left+image1.width > image2.left) and (image1.left < image2.left+image2.width)) then begin end else begin end;
Проверка по иксу. Дальше разберётесь.
Lime вне форума Ответить с цитированием
Старый 28.05.2009, 16:34   #3
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

если координаты хотябы одного из углов image2 входят в облать Image1. Определить область,занимаемую Image1 не трудно,они ж прямоугольные.
rocklistener...
5naip вне форума Ответить с цитированием
Старый 28.05.2009, 16:53   #4
virus88
 
Регистрация: 07.10.2008
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Lime Посмотреть сообщение
Код:
if ((image1.left+image1.width > image2.left) and (image1.left < image2.left+image2.width)) then begin end else begin end;
Проверка по иксу. Дальше разберётесь.
1.А что значит then begin end else begin end;?
2.Нужно еще чтото прописывать или это все что нужно?

Заранее благодарен
virus88 вне форума Ответить с цитированием
Старый 28.05.2009, 16:59   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Дык, пишите между begin и end то что вам нужно...
это ведь условие...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 28.05.2009, 17:00   #6
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Разжую :
if (условие 1 верно and условие2 верно )then
begin
//Наши действия при столкновении
end
begin
//Наши действия без столкновения.
end;
Вам в другой раздел.
Lime вне форума Ответить с цитированием
Старый 28.05.2009, 17:06   #7
virus88
 
Регистрация: 07.10.2008
Сообщений: 4
По умолчанию

Lime, а это вообще в таймере нужно прописывать? А то я в таймере прописал и через несколько секунд после запуска программы произошло действие которое должно было произойти при столкновении, хотя обьекты не сталкивались

Последний раз редактировалось virus88; 28.05.2009 в 17:18.
virus88 вне форума Ответить с цитированием
Старый 28.05.2009, 17:55   #8
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Я не экстрасенс , и соответственно не могу знать что там у вас . Там где нужно было вставлять проверку - туда и вставляйте , И не забудьте написать по Y-ку . Там всё аналогично и довольно просто.
Lime вне форума Ответить с цитированием
Старый 28.05.2009, 18:09   #9
virus88
 
Регистрация: 07.10.2008
Сообщений: 4
По умолчанию

Lime, спасибо!!! Все работает, просто я на счет Y-ка не знал! Вы мне сильно помогли!

Последний раз редактировалось virus88; 28.05.2009 в 18:13.
virus88 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение ДВУХ ОБЬЕКТОВ Wi1D Помощь студентам 4 15.05.2009 08:57
[Delphi] Как предотвратить столкновение обьектов Kolhan Помощь студентам 2 03.05.2009 14:17
Столкновение двух Манжосов Денис :) Помощь студентам 13 10.09.2008 22:01
Дано четырехзначное число, заданное в символьном виде, например, '1954'. Напечатать его текстом, например gred Помощь студентам 13 31.03.2008 22:24
Image1 и Rgn.. как обрезать? Yogik™ Помощь студентам 7 28.09.2007 17:07