Dartprogramm - Abfrage der Mauspos.

wessi86

Mitglied
Hallo,

ich möchte ein Dartprogramm schreiben, in dem man eingeben kann, wieviele Punkte ein Spieler in einer Runde geworfen hat. So ein Programm hatte ich schon einmal geschrieben und dann für jedes Feld einen Button hinzugefügt. Das war dann sehr unübersichtlich und sah auch nicht gerade schick aus.
Nun wollte ich das so machen, dass ich ein Bild einer Dartscheibe einfüge und dann einfach auf das dementsprechende Feld geklickt werden kann. Da die Felder allerdings nicht rechteckig sind und zum Teil sogar Rundungen haben, weiß ich nicht, wie ich das abfragen könnte. Gibt es dafür eine etwas einfachere Lösung? Ich könnte natürlich das Dartboard abstrahieren, so dass zB keine Rundungen mehr bestehen, was aber wieder nicht so schön aussähe und dann trotzdem noch sehr viel Arbeit bzgl. der Abfrage der Mausposition wäre.
Hier noch ein Bild von meinem alten Programm, ist aber noch aus einem frühen Entwicklungsstadium ohne Hintergrund, eigene Button-Icons usw.:
darts.png


mfg, Christian
 
Zuletzt bearbeitet:
du kannst ja einfach Mausklicks in unsicheren Grenzbereichen zurückweisen,
wenn jeder akzeptierte Klick durch irgendeine Anzeige oder Animation/ Farbe/ Rahmen des aktuellen Felds bestätigt wird,
dann ist das auch gut zu bedienen (schlechte Klickes auch mir irgendwas rotem visualisieren)

in einer gemalten Dartscheibe bei bekannten Ausmaßen kannst du mit Mathematik die Mausposition gut berechnen,
zunächst den Radius, welcher auf einen der Ringe schließen läßt, dann noch den Winkel,

zu jedem Feld muss natürlich irgendwo hinterlegt werden, in welchem Ring und mit welchem Min/Max-Winkel,
bzw. da reicht Nummerierung der Tortenstücke, den Rest automatisch hinterherrechnen,
ganz ohne Auflistung vieler Daten kommst du also nicht aus, sowas kompliziertes funktioniert ja nicht von selber

mit ein wenig Stellschrauben kann man bei so strukturieren Aufbau die Darstellung auch schnell vereinfachen,
z.B. den dritten Ring von innen, der dem 5. entspricht, weglassen, falls das nicht mehr verwirrt als hilft,
für die restlichen den Radius variieren, so dass alle ne große Fläche bekommen

wenn die Mausberechnung das berücksichtigt, was ja grundsätzlich der Plan ist, funktioniert sie ganz automatisch für die neue Darstellung
 
Zuletzt bearbeitet von einem Moderator:
Oh je, da stand ich aber auf dem Schlauch! Hab garnicht an den Radius gedacht! Dann brauch ich ja einfach die Winkel und die Distanz zum Mittelpunkt abfragen und bei gewissen Distanzen dann den Wert verdoppeln/verdreifachen.
Vielen dank für den Denkanstoß!

mfg, Christian
 

Zurück
Oben