Das Gegenteil von Mouse Button

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Das Gegenteil von Mouse Button

Beitrag von Green Snake »

hallo

was mus ich machen, um das gegenteil von mousebutten zu erhalten? also so eine art

Code: Alles auswählen

If MouseReleased(1)
PlaySound(1)
EndIf
gibt es das?
bzw was mus ich machen um es zu umgenen?
ich will ja, das wen der mousebutton wieder losgelassen wird, dass sich dan der sound 1 abspielt.

wie mache ich das?
-.-"
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

So müsste das gehen:

Code: Alles auswählen

Repeat

ExamineKeyboard()
If mousebutton(1)
gedrueckt = 1
EndIf
If gedrueckt and MouseButton(1) = 0
PlaySound(1)
gedrueckt = 0
EndIf

Until ...
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Danke

Beitrag von Green Snake »

hallo

danke dir :allright:
aber ich habe da noch eine frage:

ich will, dass wen die maus gedrücktwird (1) sollte sich ein sound abspielen.
das ist z war kein problem, aber die maus wird so schonell wieder abgefragt, das man den sound gar nicht hören kann.
es knistert dan nur so.
für die die nicht verstehen was ich meine, es ist der gleiche effekt wie das hier :mrgreen:

Code: Alles auswählen

repeat
playsound(1)
until keyboardpushed()
was kan ich dagegen tun, das der sound nur abgespielt werden kann, wen er gerade NICHT abgespielt wird?
habe schon mal wegen einer funktion die das kann nachgefragt, leider giebts die (noch) nicht.
aber irgendwie muss man das doch umgehen können... oder nicht...


danke im voraus
-.-"
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Code: Alles auswählen

Repeat 

ExamineKeyboard() 
If mousebutton(1) 
if gedrueckt = 0
PlaySound(2)
endif
gedrueckt = 1 
EndIf 
If gedrueckt and MouseButton(1) = 0 
PlaySound(1) 
gedrueckt = 0 
EndIf 

Until ...
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

das meinte ich nicht

Beitrag von Green Snake »

hallo

danke für deine hilfe, aber das meinte ich nicht.
dein code spielt den sound 1 mal ab, wen die maus gedrückt wird und nochmal wen sie wieder losgelassen wird.
ich will aber, das wen ich die maus gedrückt habe, sollte sich sound 1 abspielen ist er fertig, und die maus immer noch gedrückt, dan noocmal abspielen usw..
also ich bräucht so eine funktion, die überprüft, ob gerade sound abgespielt wird.
leider wurde mir gesagt, das es das nicht gibt.
was kann ich nur tun? :|
-.-"
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Wie wäre es mit [c]PlaySound(#Sound, 1)[/c] und [c]StopSound(#Sound)[/c]. Dann wiederholt sich der Sound während dem Drücken immer und wenn du loslässt, nimmst du [c]StopSound()[/c] um den Sound wieder zu beenden.
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag von Rubiko »

ich bin mir jetzt auch nicht sicher. wenn du weißt wie lange dein sound abgespielt wird, kannst du beim ersten mal wo es abspielt "elapsedmilliseconds"(oder wie das hieß^^) starten, und wenn es eine bestimmte länge an millisekunden erreicht hat, nochmal abspielen, und dabei überprüfen ob die maus immernoch gedrückt ist, aber wie gesagt... sicher bin ich mir da nicht ;)
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Nein, Nein, Nein.... :roll:

Code: Alles auswählen

ExamineMouse()

If Mousebutton(1)
    If gedrückt = 0
        PlaySound(1)
        gedrückt = 1
    EndIf
Else
    gedrückt = 0
EndIf
wenn der mausbutton das erste mal gedrückt wird, wird der sound gespielt und das Flag gesetzt.
wenn der mausbutton nicht gedrückt ist, wird das flag gelöscht.

spielt den sound genau einmal bei jedem mausbutton-druck ab.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten