Nur einmal mousehit?
Übersicht

![]() |
Rob_Betreff: Nur einmal mousehit? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ich habe mal ein menü mit functionen gemacht für mein nächstes spiel nur kann man nur einmach mousehit verwenden : ( und zwar nur einmal beim anfangs abfrage : ( und die darunter nicht, wenn ich die unterste if abfrage nach oben setzte klapt diese aber nicht die untersen : ( wie kann man das machen? Ich habe schon ausprobiert die mousehit in variable abzuspeichern und dann auch abzufragen aber das selbe : (
Code: [AUSKLAPPEN] Graphics 640,480,32,2
SetBuffer BackBuffer() ;SFX LOADING Global title_droop = LoadSound("Sfx\button_droop.mp3") ;GFX LOADING Global title_menu = LoadImage("Gfx\title_menu.png") Global title_help01 = LoadImage("Gfx\title_screen_help01.png") Global title_help02 = LoadImage("Gfx\title_screen_help02.png") Global title_help03 = LoadImage("Gfx\title_screen_help03.png") Global title_button = LoadImage("Gfx\title_screen_button.png") Global title_highscore = LoadImage("Gfx\title_highscore.png") Global var_title_menu = 1 Global var_title_highscore = 0 MaskImage title_help01,255,0,255 MaskImage title_help02,255,0,255 MaskImage title_help03,255,0,255 MaskImage title_button,255,0,255 Global map_rock_01 = LoadImage("Gfx\rock_01.png") Global map_podest = LoadImage("Gfx\podest01.png") Repeat Cls If var_title_menu = 1 Then drawmenu() If var_title_highscore = 1 Then showhighscore() Text 20,20,"MouseX: "+MouseX() Text 20,40,"MouseY: "+MouseY() Flip Until KeyHit(1) End ;FUNCTION MENÜ Function drawmenu() DrawImage title_menu,0,0 ;MENÜ START GAME BUTTON If MouseX() > 250 And MouseX() < 282 And MouseY() > 299 And MouseY() < 330 Then DrawImage title_help01,20,285 DrawImage title_button,252,300 EndIf ;MENÜ START GAME BUTTON TRUE If MouseX() > 250 And MouseX() < 282 And MouseY() > 299 And MouseY() < 330 And MouseHit(1) Then var_title_menu = 0 EndIf ;MENÜ HIGHSCORE BUTTON If MouseX() > 252 And MouseX() < 282 And MouseY() > 342 And MouseY() < 370 Then DrawImage title_help02,20,285 DrawImage title_button,253,342 EndIf ;MENÜ HIGHSCORE BUTTON TRUE If MouseX() > 252 And MouseX() < 282 And MouseY() > 342 And MouseY() < 370 And MouseHit(1) Then var_title_menu = 0 EndIf ;MENÜ END GAME BUTTON If MouseX() > 255 And MouseX() < 282 And MouseY() > 385 And MouseY() < 412 Then DrawImage title_help03,20,285 DrawImage title_button,254,384 EndIf ;MENÜ END GAME BUTTEN TRUE If MouseX() > 255 And MouseX() < 282 And MouseY() > 385 And MouseY() < 412 And MouseHit(1) Then End EndIf End Function ;FUNCTION HIGHSCORE Function showhighscore() DrawImage title_highscore,0,0 End Function |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
frage mousehit() pro taste nur einmal ab, speichere diesen wert in einer variable und prüfe nur diese variable ab.
mousehit() und keyhit() geben die ANZAHL von klicks seit dem letzten mousehit()/keyhit() aufruf dieser taste zurück, dieser ist dann folglich beim 2ten 0, weil du es kaum schaffen wirst, 2mal innerhalb weniger millisekunden zu klicken ![]() |
||
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
na ich verstehe nicht wie du es meinst : ( | ||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich würd sagen:
nach einer Abfrage des Keyhit wird dieser Wert wieder 0! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
na klar!
bei der ersten Abfrage ist Keyhit ja noch 1! bei den nächsten Abfragen ist der Wert ja schon wieder Null! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
meinst du ich soll nach
Code: [AUSKLAPPEN] ;MENÜ END GAME BUTTEN TRUE
If MouseX() > 255 And MouseX() < 282 And MouseY() > 385 AndMouseY() < 412 And MouseHit(1) Then if mouse(1) = 1 then mouse(1) = 0 End EndIf machen? oder so ähnlich? |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
Gameprogman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mach nach jedem If FlushMouse, das löscht alle Mausbefehle | ||
www.bandradr.de ! Awesome ! |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das bringt nichts.
Wenn du mal suchen würdest, Rob_, dann würdest du wahrscheinlich mindestens 5 Threads zu genau diesem Problem finden. Vielleicht solltest du das mal ausprobieren... |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist das so schwer?
Code: [AUSKLAPPEN] mh=MouseHit(1)
if mh... if mh... if mh... |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Ich habe es so gemacht wie hubi, ich habe in die schleife mh1 = mousehit(1) gemacht. Wenn ich jetzt mache in der function: If mh1 = 0 and mousex() < 100 etc. dann geht es auf einmacl aus. Aber wenn ich mache mh = 1 and mousex() < 100 etc. und ich drauf klicke dann passiert nichts. |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
aber dein mh1 ist schon global oder ? ![]() MfG |
||
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja | ||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
tja, in dem Fall...
Poste am besten den Code mit eingebauten mh1! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480,32,2
SetBuffer BackBuffer() ;SFX LOADING Global title_droop = LoadSound("Sfx\button_droop.mp3") ;GFX LOADING Global title_menu = LoadImage("Gfx\title_menu.png") Global title_help01 = LoadImage("Gfx\title_screen_help01.png") Global title_help02 = LoadImage("Gfx\title_screen_help02.png") Global title_help03 = LoadImage("Gfx\title_screen_help03.png") Global title_button = LoadImage("Gfx\title_screen_button.png") Global title_highscore = LoadImage("Gfx\title_highscore.png") Global var_title_menu = 1 Global var_title_highscore = 0 MaskImage title_help01,255,0,255 MaskImage title_help02,255,0,255 MaskImage title_help03,255,0,255 MaskImage title_button,255,0,255 Global map_rock_01 = LoadImage("Gfx\rock_01.png") Global map_podest = LoadImage("Gfx\podest01.png") Global mh1 = MouseHit(1) Repeat Cls If var_title_menu = 1 Then drawmenu() If var_title_highscore = 1 Then showhighscore() Text 20,20,"MouseX: "+MouseX() Text 20,40,"MouseY: "+MouseY() Flip Until KeyHit(1) End ;FUNCTION MENÜ Function drawmenu() DrawImage title_menu,0,0 ;MENÜ START GAME BUTTON If MouseX() > 250 And MouseX() < 282 And MouseY() > 299 And MouseY() < 330 Then DrawImage title_help01,20,285 DrawImage title_button,252,300 EndIf ;MENÜ START GAME BUTTON TRUE If mh1 = 1 And MouseX() > 250 And MouseX() < 282 And MouseY() > 299 And MouseY() < 330 Then var_title_menu = 0 EndIf ;MENÜ HIGHSCORE BUTTON If MouseX() > 252 And MouseX() < 282 And MouseY() > 342 And MouseY() < 370 Then DrawImage title_help02,20,285 DrawImage title_button,253,342 EndIf ;MENÜ HIGHSCORE BUTTON TRUE If mh1 = 1 And MouseX() > 252 And MouseX() < 282 And MouseY() > 342 And MouseY() < 370 Then var_title_menu = 0 EndIf ;MENÜ END GAME BUTTON If MouseX() > 255 And MouseX() < 282 And MouseY() > 385 And MouseY() < 412 Then DrawImage title_help03,20,285 DrawImage title_button,254,384 EndIf ;MENÜ END GAME BUTTEN TRUE If mh1 = 1 And MouseX() > 255 And MouseX() < 282 And MouseY() > 385 And MouseY() < 412 Then End EndIf End Function ;FUNCTION HIGHSCORE Function showhighscore() DrawImage title_highscore,0,0 End Function |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
versuch mal, das mh1 = mousehit(1) in die hauptschleife zu setzen...
ohgottogottogott... |
||
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
vielleicht solltest du mh1 in jedem Schleifendurchlauf neu belegen! ![]() |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ olay
gute idee -.- geht aber leider auch nicht. |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok hat sich erledigt, an alle voll profis:
Ich habe das mh1 = mousehit(1) in die function gesteckt jetzt klappts ^^ Aber trozdem danke, das ihr mir helfen wolltet, aber es nicht geschaft habt ![]() |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du bist doch hier der voll profi.
Ich gehe ja immernoch davon aus, dass Leute wie du mangels der Fähigkeit zu atmen bald aussterben. [ignore=on] MfG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group