Kann man auch einen runden Button machen ?

Posted By: Ascalon

Kann man auch einen runden Button machen ? - 07/25/07 18:23

Hab mal probiert einen Kreis als Button zu machen. Das Problem ist nur, auch wenn ich ausserhalb des Kreises klicke, startet die klick-Funktion, weil ja die Bitmap als Quadrat gespeichert wird bzw das ganze "Bild". Und das ganze Bild reagiert ja dann auf die Maus bzw auf die klick-Funktion, auch wenn im Spiel dann nur der Kreis sichtbar ist.

Naja ein wenig kompliziert formuliert, aber ich hoffe, es war dennoch verständlich
Posted By: TSG_Torsten

Re: Kann man auch einen runden Button machen ? - 07/25/07 21:01

Ich weiß leider nicht genau ob es geht, aber probier mal den Rand (also dass, was nicht anklickbar sein soll) schwarz zu machen und setzte das flag "overlay". Bin mir aber leider nicht sicher, ob das klappt...

Gruß
TSGames
Posted By: dennis

Re: Kann man auch einen runden Button machen ? - 07/25/07 21:28

Falls das nicht klappt......

Ich hätte noch eine Idee....

Du könntest in der Klick-Funktion testen ob der Mauszeiger im schwarzen Bereich ist.

Dafür benutzt du entweder die "Pixel_for_bmap"-Funktion (Testen ob die Farbe von dem angeklickten Pixel = schwarz) oder (wenn dein Button exakt rund ist) eine Funktion die testet ob sich der Mauszeiger im Kreisbereich befindet (mit sin/cos).
Posted By: Ascalon

Re: Kann man auch einen runden Button machen ? - 07/27/07 09:39

oh man ! so kompliziert ?!?!
mit dem schwarzen rand und overlay hab ich schon probiert, funktioniert leider nicht.
werds mal mit der anderen methode probieren, aber jedenfalls danke für die lösungsmöglichkeiten !
Posted By: Poison

Re: Kann man auch einen runden Button machen ? - 07/27/07 11:08

Mach doch einfach einen mit einem Alpha Kanal.
Posted By: broozar

Re: Kann man auch einen runden Button machen ? - 07/27/07 11:17

es geht ihm nicht um die transparenz, es geht um das klicken außerhalb der runden fläche. das kann er weder mit alphakanal noch mit overlay lösen.
Posted By: Anonymous

Re: Kann man auch einen runden Button machen ? - 07/27/07 12:16

Mit button = x,y,... geht's wohl nicht, aber...

Ein rundes/ovales Image hat einen Mittelpunkt, einen/oder zwei Radien und ein on_klick-event (in dem man viel machen kann...)

Also ein Sprite als View-Entity an die gewünschte Position setzen.
Auf on_klick den Radialabstand zum Mittelpunkt abfragen und mit einem Sprite-Wechsel/Funtionsaufruf reagieren...
© 2023 lite-C Forums