[topic był za głupi ?żeby go zachować - Vogel]

0

na formie sa 2 komponenty TImage. jeden z nich to jakis ludzik, zawsze na dole formy. drugi z nich to spadajacy z gory (timer dodaje mu 1 do wlasciwosci top co 2 milisekundy). chce, aby ten spadajacy po dojsciu do ludzika i zetknieciu sie z nim znikal, tylko ze nie mam pojecia jak to zrobic [???] . wie ktos moze?

dodam, ze ludzik moze ruszac sie w lewo i w prawo, a ten spadajacy zaczyna z top 0 i losowym left.

[glowa]

0

Image1 - ludzik
Image2 - coś spadające

if (Image2.Top + Image2.Height) =< (Image1.Top) then begin
    if ((Image2.Left) < (Image1.Left + Image1.Width)) and
       ((Image2.Left) > (Image1.Left)) or
       ((Image2.Left + Image2.Width) > (Image1.Left)) and
       ((Image2.Left + Image2.Width) <(Image1.Left + Image1.Width) ) then begin
    showmessage('Zderzyli się');
end;
end;
0

Image1 = Spadający
Image2 = Na dole
if (Image1.Top+Image1.Height=Image2.Top) and
((Image1.Left+Image1.Width>Image2.Left) and
(Image1.Left<Image2.Left+Image2.Width)) then
begin
// i procedura znikania
end;

0

Łał niezły masz problem... W tego timera daj coś w stylu:

if ((Spadajacy.Top+Spadajacy.Height)>=Ludzik.Top)and(Spadajacy.Left>Ludzik.Left)and(Spadajacy.Left+Spadajacy.Width<Ludzik.Left+Ludzik.Height)) then
 begin
  // to spadajace cos walnelo w ludzika
  Spadajacy.Top:=0;
 end;

Mniej więcej tak.

0

no wiec wyprobowalem metode i pokazalo mi blad w miejscu

=<

sprawdzilem ze operator mniejsze rowne to =<

jednak gdy go wyprobowalem to nie testowalo w ogóle tej linijki. dlaczego?

0

heheh powinno byc <= :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1