Author Topic: Einen richtigen Button machen?  (Read 12051 times)

Offline BumbleBee

  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 891
    • View Profile
Re: Einen richtigen Button machen?
« Reply #15 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
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #16 on: 2015-Nov-08 »
Ich glaube ich hab was falsch gemacht aber hat jemand ne Idee wo es dran liegen könnte?

Offline BumbleBee

  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 891
    • View Profile
Re: Einen richtigen Button machen?
« Reply #17 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
« Last Edit: 2015-Nov-08 by BumbleBee »
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #18 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.


Offline D2O

  • Prof. Inline
  • *****
  • Posts: 1063
    • View Profile
    • http://www.deuteriumoxid.com
Re: Einen richtigen Button machen?
« Reply #19 on: 2015-Nov-09 »
???
Hallo Dennis, ich glaube mit diesem Codeschnipsel wird niemand etwas anfangen können.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #20 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?

Offline Marmor

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 908
  • 96A285CC
    • View Profile
    • my youtube channel
Re: Einen richtigen Button machen?
« Reply #21 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

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5018
  • O Rly?
    • View Profile
Re: Einen richtigen Button machen?
« Reply #22 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?
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #23 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 :)

Offline Schranz0r

  • Premium User :)
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 5018
  • O Rly?
    • View Profile
Re: Einen richtigen Button machen?
« Reply #24 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
 
« Last Edit: 2015-Nov-11 by Schranz0r »
I <3 DGArray's :D

PC:
AMD RYzen 7 1700 @3.9Ghz, 16GB HyperX Fury 2666Mhz Ram, ASUS ROG GTX 1060 STRIX 6GB, Windows 10 Pro 64Bit, MSi Tomahawk B350 Mainboard

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #25 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.

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #26 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

Offline nabz32

  • Community Developer
  • Dr. Type
  • ******
  • Posts: 307
    • View Profile
Re: Einen richtigen Button machen?
« Reply #27 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 ;)

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #28 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?

Offline Dennis

  • Mc. Print
  • *
  • Posts: 19
    • View Profile
Re: Einen richtigen Button machen?
« Reply #29 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? ;)