Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.03.2002, 19:46
monkey



sry für den laienhaften versuch, ich versuche zwei objekte beliebig zu bewegen und wenn sie kollidieren soll das prog das zunächst mal merken.
das ganze mache ich ich testhalber mit 2 labels. in delphi kann man ja die ungefähre position einer komponente erechen.
Quellcode:
posx1 := label1.left;
posx0 := label5.left;
posy1 := label1.top;
posy0 := label5.top;
if (posx0-posx1=[10..-10] )   // der erste klägliche ansatz (geht das irgendwie so?)                                      
and (posy0-posy1 <=10)     //nunja der zweite klägliche ansatz, natürlich völlig unlogisch
then label2.caption :='boom';

--

Neon Helium

zum Seitenanfang zum Seitenende Profil || Suche
001
18.03.2002, 19:52
monkey



ok hab grad nochmal nachgedacht, so gehts ansatzweise:
Quellcode:if ((posx0-posx1 <=10)and (posx0-posx1>=-10)) and ((posy0-posy1 <=10)and(posy0-posy1 >=-10)) then label2.caption :='boom';

--

Neon Helium

zum Seitenanfang zum Seitenende Profil || Suche
002
18.03.2002, 19:56
Onkel Dittmeyer



Tipp: Mach es lieber in einer anderen Sprache
Delphi ist (glaub ich) zu Objektorientiert.
Mal ne Frage: Wie bewegst du das Objekt? Mit nem Timer?

--

zum Seitenanfang zum Seitenende Profil || Suche
003
18.03.2002, 21:17
Buran



und funktioniert es jetzt? Und was meinst du mit ungefähr? .left und .top sind doch genau? Und mit .height und .width kriegst du die länge und höhe. Was brauchst du denn noch?

--

zum Seitenanfang zum Seitenende Profil || Suche
004
19.03.2002, 18:24
monkey



ja also es funzt.
ich habe es vorläufig mit einer ButtonClick prozedur gemacht, da ich im einzelschritt verfahren alle ränder der objekte abtesten wollte. so wie oben funzt es, man musste nur noch die werte etwas abgleichen
also
Quellcode:posx0-posx1 <=objekt0.width
...

--

Neon Helium

zum Seitenanfang zum Seitenende Profil || Suche