GLBasic forum

Other languages => GLBasic - de => Topic started by: Dennis on 2015-Oct-28

Title: Einen richtigen Button machen?
Post by: Dennis on 2015-Oct-28
Guten Morgen ;)
Ich habe schon seit längerem einen Account und schaue eigentlich nur ... . Auf jede Fall möchte ich auch mal ein Topic starten. Mit der Frage, Wie mache ich eigentlich einen funktionen Button? Weiß da jemand was zu?
Title: Re: Einen richtigen Button machen?
Post by: Schranz0r on 2015-Oct-28
Wenn ich zuhause bin, schicke ich dir ein kleines Beispiel.
Wird so ca. 16 Uhr werden.

EDIT:

Code (glbasic) Select
// --------------------------------- //
// Project: Button
// Start: Wednesday, October 28, 2015
// IDE Version: 14.006


// SETCURRENTDIR("Media") // go to media files
SYSTEMPOINTER TRUE


TYPE TButton

status% // aktiv oder nicht -> 1 & 0
isToggle // ist es ein togglebutton dann 1
x;y // startposition
width; height // größe des Buttons
clickTimer // damit nicht jeder frame neu getoggelt wird brauchen wir einen Timer
color = 592383  // Buttonfarbe  -> rot... :D am Start

FUNCTION Draw: x, y, sizeX, sizeY

self.ResetButton();

self.x = x;
self.y = y;
self.width = sizeX;
self.height = sizeY;


DRAWRECT self.x, self.y, self.width, self.height, self.color

ENDFUNCTION

FUNCTION isMouseOver: mx, my, b1
IF BOXCOLL(self.x, self.y, self.width, self.height, mx, my, 0, 0) AND self.clickTimer < GETTIMERALL() // bin ich über den Button und darf ich klicken vom Timer her?
IF b1 // ist linke Maustaste gedrückt
self.ToggleStatus() // setze ihn active
self.clickTimer = GETTIMERALL()+500 // 500 ms Verzögerung zum nächstmöglichen Klick
ENDIF
ENDIF
ENDFUNCTION

FUNCTION isButtonDown:
RETURN self.status
ENDFUNCTION

FUNCTION ResetButton:
IF self.isButtonDown() = TRUE AND self.isToggle = FALSE
self.status = 0
ENDIF
ENDFUNCTION

FUNCTION ToggleStatus:
self.status = NOT self.status // Ohhhhhhh.... ein ToggleTrick :D 0 -> 1, 1 -> 0
ENDFUNCTION

FUNCTION setAsToggleButton: true_false
self.isToggle = true_false
ENDFUNCTION
ENDTYPE



LOCAL Button AS TButton // erstelle eine Buttoninstanz
//Button.setAsToggleButton(TRUE) // setze den Button als ToggleButton


LOCAL mx, my, b1, b2

WHILE TRUE

MOUSESTATE mx, my, b1, b2 // mausstatus abfragen, siehe dazu Hilfedatei ( F1 )

Button.Draw(100,100,100,20) // zeichne den Button
Button.isMouseOver(mx,my,b1) // ist die Maus über den Button


IF Button.isButtonDown() // wurde der Button gedrückt?
Button.color = RGB(RND(255), RND(255), RND(255)) // wenn er gedrückt wurde dann änder mir die Farbe der Buttons
ENDIF

PRINT "STATUS: "+Button.isButtonDown(), 10 ,10 // statusausgabe zum debuggen

SHOWSCREEN
WEND
END
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Oct-29
Vielen Dank für die schnelle Antwort :-)

Ich habe gestern versucht damit was zu machen.
Eine frage hätte ich noch:

Man kann einen Button gut drücken zwei auch ...
Aber ich kann nicht 2 oder 3 Buttons gleichzeitig drücken aber wenn ich die Buttons durch Key (Taste) ersetzte geht das. Wie kann das sein? Hab ich einen Fehler gemacht?
Title: Re: Einen richtigen Button machen?
Post by: Schranz0r on 2015-Oct-29
Zeig doch mal bitte deinen Code.
Title: Re: Einen richtigen Button machen?
Post by: D2O on 2015-Oct-29
Mit der Mouse 3 Button gleichzeitig?
Kann hier davon ausgehen das zu es über einen Touchscreen machen möchtest?

Edit://
Nicht schön aber sollte funktionieren.

Code (glbasic) Select
// --------------------------------- //
// Project: Multitouch
// Start: Thursday, October 29, 2015
// IDE Version: 12.308


// SETCURRENTDIR("Media") // go to media files

SYSTEMPOINTER TRUE

GLOBAL color1,color2,button1,button2,button3
GLOBAL  mx,my,mb1,mb2
color1 = RGB(0x80, 0xff, 0xff)
color2 = RGB(0xff, 0xff, 0xb0)

WHILE TRUE
button1 = FALSE
button2 = FALSE
button3 = FALSE
FOR i = 0 TO 2  // 3 x Mouse
SETACTIVEMOUSE i
MOUSESTATE mx,my,mb1,mb2

IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50)
button1 = TRUE
ENDIF
/////////////////////////////////////////
IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150)
button2 = TRUE
ENDIF
/////////////////////////////////////////
IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250)
button3 = TRUE
ENDIF
/////////////////////////////////////////

IF button1 = FALSE
DRAWRECT 0,0,100,50,color1
ELSE
DRAWRECT 0,0,100,50,color2
ENDIF


IF button2 = FALSE
DRAWRECT 0,100,100,50,color1
ELSE
DRAWRECT 0,100,100,50,color2
ENDIF

IF button3 = FALSE
DRAWRECT 0,200,100,50,color1
ELSE
DRAWRECT 0,200,100,50,color2
ENDIF




NEXT



SHOWSCREEN
WEND
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Oct-31
Ja sowas meine ich aber ich habe jetzt ein paar Button die funktionieren kann man nicht noch eine Function machen womit man die Buttons mehrere mal drücken kann?
Ich meine genau wie bei //Project: Multitouch
Ich meine es so:
FUNCTION
BUTTON 1
....
BUTTON 2
....
....
....
ENDFUNCTION

Ich hoffe man weiß ungefähr was ich meine.
Title: Re: Einen richtigen Button machen?
Post by: Kitty Hello on 2015-Nov-04
Such nach DDGui
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-05
Im Forum oder in GLBasic?
Ich hab auf jedenfall mal in GLBasic gesucht und eine riesiges Projekt gefunden.(Ich möchte mich dafür entschuldigen, ich komme da kaum zurecht Sorry)
Aber zu meinem Button ich bin mehreren Tutorial gefolgt um einen Button zu erstellen jetzt ist ist es eine kleiner Function deswegen ist meine frage ob man nicht zusätzlich eine Function erstellen kann um mehrere Buttons zu drücken?
Title: Re: Einen richtigen Button machen?
Post by: erico on 2015-Nov-05
While I did not understand much of what is going on in German here...
...in case you want to know how to have more than 1 button pressed on a touch screen, you´d have to do some coding to cope that.

here is an example that will read 2 button presses on a touchscreen, it should give you a general idea.
http://www.glbasic.com/forum/index.php?topic=10214.0
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-05
Ich möchte möchte euch für eure Hilfe danken aber ich such eine Function wo ich die Function Button einbinden kann. Ich hoffe Ihr wisst was ich meine :)
Title: Re: Einen richtigen Button machen?
Post by: erico on 2015-Nov-05
oh, now I see... then it is beyond my control.  ;)
Title: Re: Einen richtigen Button machen?
Post by: sf-in-sf on 2015-Nov-05
Die " button1, button2, button3" ist etwas schwach. Lieber ein Array von Mäuser machen, oder eine Liste von Mäuser Typen. Z.b. dim b1%[8] ; dim b2%[8] usw.
Gern -und oft- schreibe ich den Klicktest so: if (b1+b2) >0 THEN ...       damit man rechts oder links oder beide klicken kann. Wieso? --> in Bool Logik, "+" bedeutet "oder".
Viel Spaß also, und einen guten Erfolg, wa.
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-06
Was meinst du?
Eigentlich waren die Buttons als KEY Ersatz geplant wie mach ich das den jetzt müssen die Buttons keine Function sein?
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-07
Entschuldigt das ich soviel frager aber ich habe jetzt versucht von D20 das ,,Multitouch einzubringen jetzt hab ich vollgenes Problem (es Funktioniert sonst wirklich spitze)
Ich musst leider While True und das wen rausnehmen weil sich das spiel aufgehangen hat. Jetzt aber verschwinden die Button wenn ich einen anderen Button drücke(aber es verschwindet nur die die im unter dem Button gesetzt sind.
Klingt verrückt ich weiß hätte da jemand eine Idee? Bitte
Title: Re: Einen richtigen Button machen?
Post by: D2O on 2015-Nov-07
Wie, Du hast das While -Wend herausnehmen müssen?
Wie, das Spiel hängt sich sonst auf?

Hast Du das vorhandene While - Wend in Deinem Mainloop einfach hinein gesetzt?
Wenn ja, dann hast Du das mit der Mainloop, (z.B. While - Wend) noch nicht ganz verstanden!
Dann solltest Du hier noch etwas üben ;) bevor Du hier ansowas wie Multitouch rangehst.



Title: Re: Einen richtigen Button machen?
Post by: BumbleBee on 2015-Nov-08
Quote
    aber ich such eine Function wo ich die Function Button einbinden kann

Die kannst du schon suchen aber die wirst du nicht finden. :D Sowas musst du dir halt schreiben. Das gehört alles zum programmieren.    :P

Und das andere versteh ich auch nicht. While - Wend rausnehmen weil sich das Spiel aufhängt. Wir wissen nicht wie und was du programmiert hast aber irgendwo hast du halt was falsch gemacht oder nicht ganz verstanden.


Cheers
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-08
Ich glaube ich hab was falsch gemacht aber hat jemand ne Idee wo es dran liegen könnte?
Title: Re: Einen richtigen Button machen?
Post by: BumbleBee on 2015-Nov-08
Quote
   Ich glaube ich hab was falsch gemacht aber hat jemand ne Idee wo es dran liegen könnte?

Nun ja wir sind leider keine Hellseher.  =D Du musst uns natürlich den Code zeigen oder wenigstens den Teil davon, der nicht funktioniert.  Dann können wir dir gerne weiterhelfen.  :)
Oder mach ein kleines ähnliches Beispiel das dann zu dem Fehler oder Absturz führt

Cheers
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-09
Ein Beispiel:

----------
"Sprites werde geladen", wollte ich jetzt nicht alles aufzählen.

SYSTEMPOINTER TRUE
GLOBAL PLAYER AS TYPEPLAYER
GLOBAL MAP AS TYPEMAP

GOSUB INIT
WHILE TRUE

GOSUB UPDATE

SHOWSCREEN

WEND

-----------

Der Rest ist über verschiedene Typen verteil.
Wenn ich es versuch dazwischen zu drücken also im Abschnitt hängt es sich auf und wenn ich es in eine Function packe reagiert es nicht richtig.

Title: Re: Einen richtigen Button machen?
Post by: D2O on 2015-Nov-09
???
Hallo Dennis, ich glaube mit diesem Codeschnipsel wird niemand etwas anfangen können.
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-10
Hi,
Zum Schnipsel, was noch?
Das ist die Hauptdatei hier sollte der Fehler liegen die anderen 2 Dateien haben glaub ich kaum was mit oder? Der Fehler muss ja dan eigentlich Ihr sein?
Title: Re: Einen richtigen Button machen?
Post by: Marmor on 2015-Nov-10
Naja Dennis so einfach wirds wohl nicht.Der Fehler kann überall  liegen .
Auch glaube ich versteht keiner so richtig was du eigendlich willst.
Eine Bild sagt mehr als tausend worte , mach ne skizze.
Wir helfen gerne weiter dafür brauchen wir Fakten (code).

mfg
Title: Re: Einen richtigen Button machen?
Post by: Schranz0r on 2015-Nov-10
Zumindest eine GENAUE Beschreibung, was Du wirklich machen willst!

Dein erster Post war:

Hallo, kann mir einer sagen wie Buttons gehen...

Mehr kam nicht bei rum.
Dann kam ein kleines Beispiel worauf Du ohnehin in deinen "Codebrocken" nicht drauf eingehst.
Wie soll man Dir helfen, wenn man Dir alles aus der Nase ziehen muss?
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-11
Also ich versuche die Keys(Tasten) durch Buttons zu ersetzen. (Also mehre Buttons gleichzeitig drücken)
Der Fehler kann eigentlich nur da sein aber da sein.

Ich bedanke für Ihre helfe :)
Title: Re: Einen richtigen Button machen?
Post by: Schranz0r on 2015-Nov-11
Also,

Du versuchst per Touch zu Steuern?
Deshalb brauchst du Multitouch?

OK und wie sieht nun der Code von einen Button aus?
Nimmst Du meinen Code, oder hast Du dir was eigenes geschrieben?

FRAGEN ÜBER FRAGEN! :D

Kleiner Hinweis:

Code (glbasic) Select
FOR i=0 TO GETMOUSECOUNT()-1

        SETACTIVEMOUSE i
        MOUSESTATE mx, my, b1, b2
       
        // deine Abfragen hier
        Button.isMouseOver(mx,my,b1)
        // .....
NEXT
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-12
Ich habe das von D2O auf der ersten Seite benutzt(Dieses Topic) benutzt. Sorry wegen den fehlern bin grad auf einem Hany on.
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-14
Also so sieht es ungefähr aus:

FUNCTION xButtons:

SYSTEMPOINTER TRUE

GLOBAL color1,color2,button1,button2,button3
GLOBAL  mx,my,mb1,mb2
color1 = RGB(0x80, 0xff, 0xff)
color2 = RGB(0xff, 0xff, 0xb0)

button1 = FALSE
button2 = FALSE
button3 = FALSE
FOR i = 0 TO 2  // 3 x Mouse
                SETACTIVEMOUSE i
                        MOUSESTATE mx,my,mb1,mb2

                        IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50)
                                button1 = TRUE
                        ENDIF
                        /////////////////////////////////////////
                        IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150)
                                button2 = TRUE
                        ENDIF
                        /////////////////////////////////////////
                        IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250)
                                button3 = TRUE
                        ENDIF
                        /////////////////////////////////////////

IF button1 = FALSE
        DRAWRECT 0,0,100,50,color1
        ELSE
        DRAWRECT 0,0,100,50,color2
ENDIF


IF button2 = FALSE
        DRAWRECT 0,100,100,50,color1
        ELSE
        DRAWRECT 0,100,100,50,color2
ENDIF

IF button3 = FALSE
        DRAWRECT 0,200,100,50,color1
        ELSE
        DRAWRECT 0,200,100,50,color2
ENDIF




NEXT
ENDFUNCTION
Title: Re: Einen richtigen Button machen?
Post by: nabz32 on 2015-Nov-16
Wo war jetzt dein Problem?

Mir fällt beim drüberschauen folgendes auf:

GLOBALs in einer funktion definieren die du jeden Frame aufrufst?
Dann setzt du die GLOBALS sowieso immer wieder auf FALSE beim Start der funktion, ich glaube was du suchst ist eine Lokale Variable für den Knopf,
den die Funktion über Return zurückgeben soll?
Dann noch die color als GLOBAL, du setzt sie jedesmal wenn du in die Funktion gehst, das sollte auf jeden Fall eine LOCAL Variable sein.
Genauso verhält es sich mit mx, my , mb1 , mb2.

Warum zeichnest du deine Rechtecke 3 mal ( warum sind deine DRAWRECT in der FOR NEXT Schleife? Du willst sie doch nur einmal pro frame zeichnen oder? )

Nenn deine Funktion mal xButton, dann sollte einiges leichter für dich werden ;)
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-18
Wie gesagt fast alles basiert auf dem/der Kommentar/Nachricht von D20 aus diesem Topic.
Ich werde mich auf jede Fall dransetzten. Könnten/Könntest Sie/Ihr mir vielleicht ein bespielt geschicken wie genau die Verbesserung gemeint ist?
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Nov-18
Entweder schreib ich so früh oder so spät   :D (Sorry dafür)

Also ich habe jetzt den Namen geändert und versucht so viel wie möglich umzusetzen und es kommen immer noch die gleiche Problem.... :whistle: (I'm Stupid)

Könne vielleicht jemand ausnahmsweise mir mit der/einer Verbesserung in Form eines Beispiels eine lösung schicken? ;)
Title: Re: Einen richtigen Button machen?
Post by: LukasOK on 2015-Nov-22
ich konnte eigentlich keinen Fehler feststellen.
Ich setzte mich mal dran vielleicht kann ich helfen ;)
Wenn jemand schneller ist bin für anderen Vorschläge offen  :booze:
Title: Re: Einen richtigen Button machen?
Post by: LukasOK on 2015-Nov-26
Tut mir wirklich leid wollte ja eigentlich Montag morgen schon schreiben hatte aber kaum Zeit und jetzt ist schon Donnerstag... ;D

Auf jedenfalls ich habe aber schon versucht ein Lösung für dein Problem zu finden.

Also habe ich versucht aus deinem kleinen Schnipsel nachzubauen.

Von Dir:
"Sprites werde geladen", wollte ich jetzt nicht alles aufzählen.

SYSTEMPOINTER TRUE
GLOBAL PLAYER AS TYPEPLAYER
GLOBAL MAP AS TYPEMAP

GOSUB INIT
WHILE TRUE

GOSUB UPDATE

SHOWSCREEN

WEND

Versuch doch mal das in deinem Schnipsel einzusetzen
Beispiel:
"Sprites werde geladen", wollte ich jetzt nicht alles aufzählen.

SYSTEMPOINTER TRUE

GLOBAL color1,color2,button1,button2,button3
GLOBAL  mx,my,mb1,mb2
color1 = RGB(0x80, 0xff, 0xff)
color2 = RGB(0xff, 0xff, 0xb0)

GLOBAL PLAYER AS TYPEPLAYER
GLOBAL MAP AS TYPEMAP

GOSUB INIT
WHILE TRUE
button1 = FALSE
button2 = FALSE
button3 = FALSE
FOR i = 0 TO 2  // 3 x Mouse
                SETACTIVEMOUSE i
                        MOUSESTATE mx,my,mb1,mb2

                        IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 0  AND my < 50)
                                button1 = TRUE
                        ENDIF
                        /////////////////////////////////////////
                        IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 100  AND my < 150)
                                button2 = TRUE
                        ENDIF
                        /////////////////////////////////////////
                        IF (i = 0 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250) OR (i = 1 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250) OR (i = 2 AND mb1  AND  mx > 0 AND mx < 100 AND my > 200  AND my < 250)
                                button3 = TRUE
                        ENDIF
                        /////////////////////////////////////////

IF button1 = FALSE
        DRAWRECT 0,0,100,50,color1
        ELSE
        DRAWRECT 0,0,100,50,color2
ENDIF


IF button2 = FALSE
        DRAWRECT 0,100,100,50,color1
        ELSE
        DRAWRECT 0,100,100,50,color2
ENDIF

IF button3 = FALSE
        DRAWRECT 0,200,100,50,color1
        ELSE
        DRAWRECT 0,200,100,50,color2
ENDIF

NEXT

GOSUB UPDATE

SHOWSCREEN

WEND

Hat bei mir jetzt Funktioniert ich kenne jetzt aber auch nicht dein Projekt.
Versuch es mal wen es noch nicht geht sag bescheid.
Title: Re: Einen richtigen Button machen?
Post by: sf-in-sf on 2015-Nov-30
Ich habe es wieder gefunden. Die Buttons hatte ich so gemacht: (Ausschnitt, hoffentlich komplet genug.)
Code (glbasic) Select
global k$ // catches messages from all knobs

TYPE screenknob
x%; y%; w%; h%; rtn$;
ENDTYPE
SUB setupknobs:
LOCAL foo AS screenknob

foo.w=scrx*0.08 ; foo.h=foo.w ; foo.rtn$="l"
foo.x=scrx*0.07-0.5*foo.w ; foo.y=scry*0.88
DIMPUSH kn[],foo


foo.w=scrx*0.08 ; foo.h=foo.w ; foo.rtn$="r"
foo.x=scrx*0.93-0.5*foo.w ; foo.y=scry*0.88
DIMPUSH kn[],foo


foo.w=scrx*0.08 ; foo.h=foo.w ; foo.rtn$="u"
foo.x=scrx*0.50 ; foo.y=scry*0.76
DIMPUSH kn[],foo


foo.w=scrx*0.08 ; foo.h=foo.w ; foo.rtn$="d"
foo.x=scrx*0.50 ; foo.y=scry*0.88
DIMPUSH kn[],foo
ENDSUB

SUB mousejob:
STATIC pressed%=FALSE, frame%=3,col%
k$=""
MOUSESTATE mx,my,b1,b2

FOREACH k IN kn[]
col=0x996644//bb8866//7744
DRAWRECT k.x,k.y,k.w,k.h,0x0
IF b1+b2>0
IF mx>=k.x AND mx<=k.x+k.w _
AND my>=k.y AND my<=k.y+k.h
k$=k.rtn$ ; col=0xffbb00//ffeecc//ffff99
ENDIF ; ENDIF
DRAWRECT k.x+frame,k.y+frame,k.w-frame-frame,k.h-frame-frame,col
//possibly PRINT k.label$ on top.
NEXT
endsub

// include this in the main loop:
// mixed use of screen buttons and arrow keys:
IF KEY(203) OR k$="l" THEN ; //please complete.
IF KEY(205) OR k$="r" THEN ;
IF KEY(200) OR k$="u" THEN ;
IF KEY(208) OR k$="d" THEN ;
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Einschraenkung: wenn gleichzeitig 2+ Buttons gedrueckt werden, kann k$ nur 1 Wert tragen. Dieses Problem gibt es mit Pfeilen nicht. Viel Erfolg!
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Dec-22
Bei dem letzten tauchen bei mir nur Fehler auf, als ich das versucht habe zu übernehmen.
Gibt es noch andere Möglichkeiten?
Sorry, das ich so lange nicht geantwortet hab.
Title: Re: Einen richtigen Button machen?
Post by: sf-in-sf on 2015-Dec-26
entschuldigung, es fehlt "natuerlich"
Code (glbasic) Select
GLOBAL kn[] AS screenknob
Vor jedem SHOWSCREEN ruf mal "mouse job", und das ergebnis befindet sich in k$. benutze dann
Code (glbasic) Select
DEBUG " * " ; DEBUG k$ ;
um zu sehen, ob es funktioniert. -der debugger muss eingeschaltet sein.
Nur einmal am Anfang rufst du "setupknobs" mit GOSUB.
Wie ist es jetzt?
Title: Re: Einen richtigen Button machen?
Post by: Dennis on 2015-Dec-30
ok ich versuch es mal weiter.