Irgendwie komisch, Overlap nur einmal anwendbar?
Übersicht BlitzBasic Beginners-Corner
Schranz0rBetreff: Irgendwie komisch, Overlap nur einmal anwendbar? |
Sa, Aug 05, 2006 21:22 Antworten mit Zitat |
|
---|---|---|
Hi Leute, ich hab da ein problem:
Ich hab ein Menu wo ich diverse sachen per mausklick einstellen lassen will. Hab ein eigenen Mousepointer drin, und menubuttons. So hab ich das nun geschrieben: Code: [AUSKLAPPEN] If ImagesOverlap(plus,plusX,plusY,maus,mX,mY) And MouseHit(1) Then geld = geld + 100 EndIf aber sobald ich einen zweiten button so belege, funzt nur noch einer da gibts doch bestimmt noch ne andere möglichkeit, oder? |
||
dav3d |
Sa, Aug 05, 2006 21:40 Antworten mit Zitat |
|
---|---|---|
Ich denke das Problem liegt nicht an imagesoverlap, sondern an mousehit(). Mousehit() kann nur einmal pro Schleifendurchlauf abgefragt werden. | ||
D²OBetreff: Re: Irgendwie komisch, Overlap nur einmal anwendbar? |
Sa, Aug 05, 2006 21:55 Antworten mit Zitat |
|
---|---|---|
Schranz0r hat Folgendes geschrieben: Code: [AUSKLAPPEN]
If ImagesOverlap(plus,plusX,plusY,maus,mX,mY) And MouseHit(1) Then geld = geld + 100 EndIf Probiers mal so, einmal ind der Hauptschleife Mousehit einer Variable zuweisen. mouse = mousehit(1) und dann bei der abfrage "mouse" verwenden. If ImagesOverlap(plus,plusX,plusY,maus,mX,mY) And mouse Then geld = geld + 100 EndIf hier mal ein beispielcode mit rectsoverlap: Code: [AUSKLAPPEN] Graphics 640,480,16,1 SetBuffer BackBuffer () While Not KeyHit(1) mouse = MouseHit(1) x = MouseX() y = MouseY() If RectsOverlap(20,20,50,50,x,y, 2,2) And Mouse ClsColor 20,20,20 EndIf If RectsOverlap(20,100,50,50,x,y, 2,2) And Mouse ClsColor 20,200,20 EndIf If RectsOverlap(20,180,50,50,x,y, 2,2) And Mouse ClsColor 0,0,0 EndIf Color 255,0,0 Rect 20,20,50,50 Color 255,100,0 Rect 20,100,50,50 Color 255,180,100 Rect 20,180,50,50 Color 255,255,255 Oval MouseX(),MouseY(), 2,2 Flip Cls Wend End |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
Schranz0r |
Sa, Aug 05, 2006 22:06 Antworten mit Zitat |
|
---|---|---|
@ dav3d
Danke für deine Information das es nur 1 mal pro schleife aufrufbar ist, hab ich nicht gewusst @ D²O Dank dir für den Tip, funzt einwandfrei !! |
||
garret |
So, Aug 06, 2006 0:27 Antworten mit Zitat |
|
---|---|---|
Und statt überall ein "And Mouse" anzuhängen, könnte man einfach alles mit MouseHit() umklammern, wodurch man sich die Variable sparen könnte.
Code: [AUSKLAPPEN] If MouseHit(1) If ImagesOverlap() If ImagesOverlap() EndIf MfG garret |
||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group