Autor Beitrag
Beliar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mo 09.02.04 22:47 
Hi,

Ich hatte mir vorgenommen, ein simples Brettspiel (Abalone) mit Delphi zu programmieren. Es geht hauptsächlich darum, Kugeln auf einem Spielbrett von Loch zu Loch zu schieben. Dieses verschieben wollte ich mit dem Mauszeiger erreichen - ist mir auch per Drag&Drop gelungen.

Doch kurz darauf stieß ich auf mein nächstes Problem. Der Spieler darf die Kugeln ja nicht beliebig verschieben können, also habe ich versucht, dem gewisse Grenzen zu setzen - was mir nicht besonders gut gelungen ist :(
Die einzige Lösung, die ich bis jetzt gefunden habe ist, dass der Ziehvorgang bei einer bestimmten Entfernung vom Ursprungspunkt abgebrochen wird. Damit landen die Kugeln aber logischerweise fast nie über einem Loch im Hintergrund-Spielbrettimage (Die Löcher sind Wabenförmig angeordnet).

Das beste wäre, dass, wenn ich eine Kugel über ein unsichtbares Objekt ziehe, der Dragvorgang an dieser stelle durch ein OnDragOver Ereignis abgebrochen wird. Nur leider liegen alle Objekte, mit denen ich das versucht habe, über und nicht unter dem zu ziehenden Kugelimage :roll:

Jo das wärs, weiter weis ich nicht mehr. Ich hoffe dass mir da Jemand weiterhelfen kann - vielleicht bin ich ja auch total auf dem Holzweg und es geht viel einfacher :D
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Mo 09.02.04 23:12 
lege doch beim Draggen den Accept Parameter nur für gültige Quellfelder fest....
Dann kann auch nur dahin gedraggt werden ...

Catweasel

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
Beliar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mi 11.02.04 17:52 
Versteh ich nicht... meinst du nicht genau das, was ich oben schon versucht habe? Ich krieg es nicht hin, ein OnDragOver- Ereignis zu erzeugen - damit könnte ich das draggen ja abbrechen. Das zu ziehende Image liegt irgentwie in der untersten Ebene und ich weis nicht, wie man das ändern kann.
Beliar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mi 11.02.04 18:15 
Das mit den ebenen hat sich geklärt - trotzdem wird kein ondragover ereignis ausgelöst, wenn ich mein image über ein anderes image ziehe, wo ich den accept parameter auf true gesetzt habe - wieso nicht?