OnMouseMove
-
Hi,
ich möchte dass der Button immer springt , aber wie mache ich das ?void __fastcall TForm1::Button1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
Button1->Left=2;
Button1->Top=2;
}
-
void __fastcall TForm1::Button1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
Randomize();
Button1->Left=random(Form1->Width-Button1->Width) ;
Button1->Top=random(Form1->Height-Button1->Height);
}
-
Statt als neue Koordinaten immer denselben festen Wert (2) anzugeben musst du halt dynamische Werte verwenden.
Lösungsansatz:
- im OnMouseMove neue Zufallswerte aus Formhöhe minus Buttonhöhe und Formbreite minus Buttonbreite generieren (siehe rand(), randomize() etc.)
- prüfen, dass die Werte mindestens n Pixel Unterschied zur derzeitigen Position aufweisen, sonst wiederholen
- Button auf neue Position setzen
-
Hallo,
ich würde Randomize() nur einmal aufrufen.
MfG
tuküe
-
Danke für schnelle antworten .
-
warum randomize() nuir eimal aufrufen? jedes mal wenn du randomize aufrufst, wird eine neue zufallszahlen liste erstellt... also warum n ich öffters diese liste erstellen?