Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - LEichtes Programm


Zlatan - Di 22.02.11 15:36
Titel: LEichtes Programm
Hi,
Ich habe hier schon oft das Programm gesehen, bei dem man mit dem Mauszeiger
irgendwelche Panels nicht berühren darf.
Man muss ins Ziel kommen , aber wenn man ein Panel berührt ist GAME OVER

Wie geht das?


Moderiert von user profile iconGausi: Topic aus Sonstiges (Delphi) verschoben am Di 22.02.2011 um 14:51


jaenicke - Di 22.02.11 15:38

Einfachste Lösung: OnMouseMove des Panels nehmen. Wenn das ausgelöst wird, muss der Zeiger über dem Panel sein.


Xion - Di 22.02.11 15:39

Die Position von der Maus kriegst du mit Mouse.CursorPos. Dann musst du die Position nur noch angucken, ob sie irgendwo ist, wo sie nicht sein darf.

Alternativ: OnMouseMove der Panels verwenden, das wird immer aufgerufen, sobald die Maus über dem Panel ist.

Ein Problem hast du freilich: Wenn ich die Maus schnell genug bewege (also so schnell wie es geht), dann komm ich über dein Panel drüber, ohne dass ich je darüber war ;) Wie beim Quantensprung.


Zlatan - Di 22.02.11 15:39

Kannst du das mal als Quelltext formolieren, biite?
danke


Xion - Di 22.02.11 15:41

Du platzierst ein Panel auf die Form. Dann gehst du zu den Events und suchst dort "OnMouseMove" raus. Doppelklick drauf. Einfügen:


Delphi-Quelltext
1:
ShowMessage('Game Over');                    


;)


Zlatan - Di 22.02.11 15:43

Schon gut hab selbst rausgefunden;)
(wie dumm von mir so etwas zu fragen;))