Anfängerfrage! Bitte um hilfe!
Übersicht

GrossiBetreff: Anfängerfrage! Bitte um hilfe! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo.
Ich möchte gern das wenn die maus auf einem bestimmten Punkt ist (z.B. 400,300) ein zähler eins weiter gesetzt wird. Ich hab das jetzt schon so: Code: [AUSKLAPPEN] Graphics 800,600 SetBuffer BackBuffer() Maus = LoadImage("pointer.bmp") Repeat x = MouseX() y = MouseY() zaeler = 0 If x = 400 And y = 300 Then zaeler = zaeler + 1 Text 100,100, + zaehler Flip Until KeyHit(1) End Aber wenn man dann auf dem Punkt ist wird dann immer ganz schnell gezählt!! Wie macht man es das dann immer nur EINMAL gezählt wird wenn man darauf ist??? Danke schonmal im vorraus! |
||
Ensign Joe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Global Bla = Millisecs()
Global WartenZwischen = 350 if Millisecs() - WartenZwischen => Bla then if x = 400 and y = 300 Then zaehler = zaehler + 1 bla = Millisecs() endif |
||
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
So wird alle 350 ms weitergezählt.
Nicht getestet und kann sicher stark gekürzt werden, müste aber funzen: Code: [AUSKLAPPEN] Graphics 800,600 SetBuffer BackBuffer() blaa=799 blab=0 Repeat x = MouseX() y = MouseY() If a=0 And x = blaa And y = blab Then zaehler = zaehler + 1 a=1 End If If a=1 And x >< blaa Or y >< blab Then a=0 Text 100,100, x+"/"+y+"/"+ zaehler Plot x,y Flip Cls Until KeyHit(1) End |
||
![]() |
Mangudai |
![]() Antworten mit Zitat ![]() |
---|---|---|
habs auch probiert:)
Code: [AUSKLAPPEN] Global Bla = MilliSecs() Global WartenZwischen = 350 Graphics 800,600 SetBuffer BackBuffer() Repeat Cls Rect MouseX(),MouseY(),10,10,1 Rect 400,300,10,10,1 x = MouseX() y = MouseY() If MilliSecs() - WartenZwischen => Bla Then zaeler = 0 If x = 400 And y = 300 Then zaehler = zaehler + 1 bla = MilliSecs() EndIf Text 100,100, + zaehler Flip Until KeyHit(1) End das milisecs zeug hab ich von joe verwendet:) |
||
lg Mangudai |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600
Und so wird nur einmal gezählt. Du speicherst einfach in einer Variablen, ob der Zeiger schon vorher drüber war. Wenn er nicht über dem Punkt ist, wird drueber auf False gesetzt. Wenn er drüber ist, wird drueber auf True gesetzt und die Variable erhöht.
SetBuffer BackBuffer() Maus = LoadImage("pointer.bmp") drueber = False Repeat x = MouseX() y = MouseY() zaehler = 0 If x = 400 And y = 300 Then If drueber = False Then zaehler = zaehler + 1 ; Hier fehlten übrigens die hs drueber = True End If Else drueber = False End If Text 100,100, zaehler Flip Until KeyHit(1) End |
||
Grossi |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dank an
Ensign Joe, Triton, Mangudai und Edlothiol!! Ihr habt mir sehr geholfen!! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group