[Delphi] Kolizje
Strona [ 1 ] z 1
| maciej-01 |
07-02-2010 19:27 |
|
Użytkownik Status: Offline Dołączył: 23-10-2008 |
Witam. Jak sprawdzić czy 2 komponenty TImage o kształcie prostokąta ze sobą kolidują? Szukałem w gogle lecz nie ma Dziękuje za pomoc.maciej-01
|
|
|
| ybook |
07-02-2010 20:00 |
|
|
ok.. używać googla umiesz.. a mózgu? przecież to jest proste jak dwa plus dwa.. wystarczy ruszyć głową.. |
|
|
| cimak |
07-02-2010 22:03 |
|
Użytkownik Status: Offline Dołączył: 01-12-2002 Skąd: Chatka na środku lasu |
ybook napisał: ok.. używać googla umiesz.. tez nie umie.http://www.google.pl/search?&q=delphi+kolizje Ostatnio zmodyfikowany: 07-02-2010 22:05 przez cimak |
|
|
| lankusiek |
07-02-2010 23:06 |
|
Użytkownik Status: Offline Dołączył: 04-07-2008 Skąd: Warszawa |
var l,p,g,d: boolean; begin if image1.Left+ image1.Width > image2.Left then l:= true else l:= false; if image1.Left < image2.Left+ image2.Width then p:= true else l:= false; if image1.Top+ image1.Height > image2.Top then g:= true else l:= false; if image1.Top< image2.Top+ image2.Height then d:= true else l:= false; if (l and p and g and d) then ShowMessage('kolizja'); end; Ostatnio zmodyfikowany: 07-02-2010 23:07 przez lankusiek |
|
|
| Azarien |
07-02-2010 23:56 |
|
Użytkownik Status: Offline Dołączył: 18-12-2003 |
lankusiek napisał: var l,p,g,d: boolean; begin if image1.Left+ image1.Width > image2.Left then l:= true else l:= false; if image1.Left < image2.Left+ image2.Width then p:= true else l:= false; if image1.Top+ image1.Height > image2.Top then g:= true else l:= false; if image1.Top< image2.Top+ image2.Height then d:= true else l:= false; if (l and p and g and d) then ShowMessage('kolizja'); end; Nie wnikając w merytoryczną poprawność i pomijając prawdopodobną literówkę przy else, funkcjonalnie równoważne, a lepsze, będzie: |
|
|
|
|
|
Strona [ 1 ] z 1
| 1 użytkownik(ów) przegląda ten temat (1 gości) |
|---|
| (żadnych zarejestrowanych użytkowników) |





Dziękuje za pomoc.





tez nie umie.