GLBasic forum

Other languages => GLBasic - de => Topic started by: amarliani on 2009-Feb-05

Title: Seltsamer Mausprobleme
Post by: amarliani on 2009-Feb-05
Hallo miteinander,
folgendes Problem: Ich benutze MOUSESTATE für die Mausabfrage. In den bisherigen Projekten war auch alles problemfrei. Aber in meinem letzten Projekt kriege ich völlig seltsame Effekte: Die Funktion liefert andere Mauspositionen zurück, als die Maus tatsächlich hat!
Und wenn ich dann einfach mal einen MOUSESTATE abfrage, auf den Schirm drucke, einen weiteren abfrage, ohne die Maus zu verändern, und den dann auch drucke, kriege ich zwei sowohl in x- als auch in y-Koordinaten erheblich differierende Ergebnisse. Ein paar Pixel hätt ich ja verstanden, aber teilweise fast 100 Pixel??

Ich hab mal das gesamte Projekt angehängt , falls jemand Lust hat, sich das Ganze anzusehen. Any idea?

[attachment deleted by admin]
Title: Re: Seltsamer Mausprobleme
Post by: Schranz0r on 2009-Feb-05
Niemals soviele WHILE-WEND ineinander nutzen ;)
Denke da hast du nen Hund drin, hab jetzt leider auch nicht den nerv den ganzen Code zu zerpflücken, aber liegt zu 90% an der "falschen" Nutzung der Schleifen ;)
Title: Re: Seltsamer Mausprobleme
Post by: amarliani on 2009-Feb-05
Hmmm. Also eigentlich ist das Ganze nur eine While-Wend-Schleife, die paar anderen da drin sind lediglich Warteschleifen, um das Programm eine definierte Zeit anzuhalten. Deren Struktur ist immer exakt gleich:
Code (glbasic) Select
zeit=GETTIMERALL()
WHILE GETTIMERALL()-zeit < 800; WEND

Wenn das ein Problem ist, wie sonst kann man denn so was lösen? Ich brauche folgende schematische Ablaufstruktur:
Code (glbasic) Select
WHILE i < LEN(folge[])
   zeige Sprite folge[i]
   spiele Sound folge[i]
   Pause für 800ms
   Eingabe auswerten
   IF Eingabe ok
      INC i,1
   ELSE
      i=1000
   ENDIF
WEND
Title: Re: Seltsamer Mausprobleme
Post by: Schranz0r on 2009-Feb-05
Timer setzen ;)
Title: Re: Seltsamer Mausprobleme
Post by: Kitty Hello on 2009-Feb-05
für Pause gibt es "SLEEP".
Title: Re: Seltsamer Mausprobleme
Post by: amarliani on 2009-Feb-06
seufz... Vielleicht sollte ich doch endlich mal die _ganze_ Doku lesen...

Aber im Ernst: SLEEP hilft mir insofern nicht, als mein Problem damit bleibt. Nur der Code wird sauberer... Irgendwo steckt da ein dicker Hund, und ich bin zu vernagelt, ihn zu finden. Ich glaub, ich fang einfach noch mal von vorn an.

Was anners in dem Zusammenhang: Kann man eigentlich in GLBasic symbolische Konstanten definieren? War für Game-Zustände in XNA immer so praktisch...
Title: Re: Seltsamer Mausprobleme
Post by: Kitty Hello on 2009-Feb-06
Der CONST Befehl ist noch beta.
Du kannst es aber so machen:

TYPE TconstXY
a=1
b=7
ENDTYPE
GLOVAL XY as TconstXY

PRINT XY.a, 0,0
Title: Re: Seltsamer Mausprobleme
Post by: amarliani on 2009-Feb-06
 =D Prima Idee! Bewirkt letztlich genau das, was ich wollte, danke! An Types hatte ich noch gar nicht gedacht...