Problem mit Mausklicks !

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

prolapper

Betreff: Problem mit Mausklicks !

BeitragSo, Jan 20, 2008 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe folgendes Problem:
In meinem Spiel gibt es ein Menü, das auf Mausklicks reagiert (auf den Button fahren und anschließend Maustaste drücken). Wenn man das Spiel verloren hat kommt eine kleine Übergangssequenz und anschließend ist man wieder im Menü. Wenn ich jedoch während dieser Sequenz die Maus auf die Stelle bewege, wo später ein Button sein wird, und klicke, wird das später im Menü ausgewertet und der Menü-Punkt wird angeklickt, obwohl ich die Maus garnicht geklickt habe ( nur vorher bei der Sequenz).
Ich benutze hierbei Getmouse()
Ich habs schon mit Flushmouse probiert aber es geht irgenwie nicht.
Kann mir irgendeiner helfen ???

Hier ein (sehr vereinfachter) aufbau:

Code: [AUSKLAPPEN]
Repeat

       Menu()

Until ...

Function Menu()
Repeat
A = 0              ; Beides bringt
Flushmouse   ; nichts
A = Getmouse()
If A = 1 and x < ? and> ? and y < ? andy > ?      ; Abfrage, ob Maus auf Button und ob eine taste gedrü. ist
     Spiel()
endif

Until ...
End Function

Function Spiel ()
...
     If keyhit(1) or leben = 0 then
          Sequenz()
     Endif

End Function

Function Sequenz()
...
      Menu()

End Function
P.S: ICH SUCHE NOCH EINEN GRAFIKER UND EINEN PROGRAMMIERER FÜR EIN RPG
E-Mail: prolapper@gmx.net
 

Lador

BeitragSo, Jan 20, 2008 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, mal sehen, ob ich das richtig verstanden habe...Also, obwohl kein Button da ist, und du klickst, wäre es, als ob einer da wäre, weil später dort ein Button sein wird/mal einer da war? Ich mach das immer so: ich nehme eine Variable, ob der Button schon angeklickt werden kann. Zum Beispiel menu_var (True/False), wenn sie True ist, dann kann der Button angeklickt werden, ansonsten nicht.

Hoffe ich hab das richtig verstanden und konnte dir helfen.

MFG Lador
 

DennY

BeitragSo, Jan 20, 2008 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Also so wie ich das verstehe klickst du bei der Zwischensequenz und dieser Klick wirkt dann auch im Hauptmenü?! Wenn das der Fall sein sollte, könntest du doch einfach ein Delay einbauen also so:

Code: [AUSKLAPPEN]
Function Sequenz()
...
      Delay(100)
      Menu()

End Function


Edit: ach ja hab ich fast vergessen! hier noch die Erklärung zu Delay Klick!
 

Hahninator

BeitragSo, Jan 20, 2008 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiers mal so, indem du die Mausklicks in eine Variable steckst: etwa so

Code: [AUSKLAPPEN]

Dim Maus_Klicks(3)

Repeat
 Maus_Klicks(1) = mousehit(1)
 Maus_Klicks(2) = mousehit(2)
 Maus_Klicks(3) = mousehit(3)
.
.
.
 Maus_Klicks(1) = 0
 Maus_Klicks(2) = 0
 Maus_Klicks(3) = 0
until Keyhit(1)


so müste es klappen
Edit: naja hatte ein Paar Rechtschreibfehler drin

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Jan 20, 2008 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Siehe dazu ql:FlushMouse
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

prolapper

BeitragSa, Jan 26, 2008 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@ hectic : also Flushmouse habe ich etz probiert und geht es geht jetzt. Ich kannte den Befehl zwar und habe ihn auch schon verwendet, habe aber jetzt herausgefunden, dass ich den Befehl vorher falsch gesetzt habe.
Also danke .
Auch an die Anderen, obwohl manche Antworten vielleicht nicht so ganz sinnvoll waren (Was bringt mir Delay ? ^^ )
Also DennY hat mein Problem richtig verstanden und @ Lador: der klick wird erst später wenn ich dann im Menu bin ausgewerte, aslo passiert wärend der Sequenz nichts aber wenn sie vorbei ist wirkt si im Menü.

Danke an Alle
mfg
Prolapper
P.S: ICH SUCHE NOCH EINEN GRAFIKER UND EINEN PROGRAMMIERER FÜR EIN RPG
E-Mail: prolapper@gmx.net

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group