Autor Beitrag
Zlatan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175



BeitragVerfasst: Di 22.02.11 15:36 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: 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.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Zlatan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175



BeitragVerfasst: Di 22.02.11 15:39 
Kannst du das mal als Quelltext formolieren, biite?
danke
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: 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:

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


;)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Zlatan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175



BeitragVerfasst: Di 22.02.11 15:43 
Schon gut hab selbst rausgefunden;)
(wie dumm von mir so etwas zu fragen;))