Показать сообщение отдельно
  #4  
Старый 31.01.2012, 11:29
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Про ошибку тебе уже сказали, а для сравнение на столкновение лучше использовать IntersectRect:
Код:
  if IntersectRect(DestRect, Image1.BoundsRect, Image2.BoundsRect) then
    столкнулись

Пусть сначала научится правильно писать, а затем научится использовать непонятную функцию

Вот критерий попадания центра Shape1 внутрь Image2
Код:
if  (Image2.Top>=(Shape1.Top + 30)
  and
   ((Image2.Top+Image.Height)<=(Shape1.Top + 30)
  and
   (Image2.Left<=(Shape1.Left + 30)
  and
   ((Image2.Left+Image2.Width)>=(Shape1.Left + 30)
then begin
  Shape1.Visible:=false;
end;

А для полного контроля хотя бы частичного пересечения двух прямоугольников нужно написать несколько таких условий(каких именно - подбери сам - нарисуй возможные взаимные положения).
Что получится - напиши
Ответить с цитированием