ein und ausschalten geht nicht
Übersicht
BlitzBasic
Allgemein
AffjeBetreff: ein und ausschalten geht nicht |
Antworten mit Zitat |
|
|---|---|---|
|
hi
ich habe einen button, mit dem man den sound an und austellen kann. nur eben das geht nicht wenn man einmal auf den button klickt, soll der ton aus gehen, wenn man wieder draufdrückt, soll er wieder angehen. damit habe ich probleme, hier mal der komplette code: Code: [AUSKLAPPEN] ;*Ilendurs Vermächtnis, ein Spiel für die Drachengarde* Graphics 1024, 768, 32, 1 SetBuffer BackBuffer() ;Laden der Bilder und des Sounds Hintergrundbild = LoadImage("Daten\Bilder\Menu.jpg") Cursor = LoadImage("Daten\Bilder\Cursor.bmp") Beenden = LoadImage("Daten\Bilder\Beenden.jpg") Beenden_Over = LoadImage("Daten\Bilder\Beenden_Over.jpg") Credits = LoadImage("Daten\Bilder\Credits.jpg") Credits_Over = LoadImage("Daten\Bilder\Credits_Over.jpg") Intro = LoadImage("Daten\Bilder\Intro.jpg") Intro_Over = LoadImage("Daten\Bilder\Intro_Over.jpg") Beginnen = LoadImage("Daten\Bilder\Beginnen.jpg") Beginnen_Over = LoadImage("Daten\Bilder\Beginnen_Over.jpg") Soundbutton = LoadImage("Daten\Bilder\Soundbutton.jpg") Soundbutton_Over = LoadImage("Daten\Bilder\Soundbutton_Over.jpg") Sound = LoadSound("Daten\Musik.mp3") Soundkanal = PlaySound(Sound) ;das Hauptmenü .Hauptmenu While Not KeyHit(1) DrawImage Hintergrundbild, 0, 0 DrawImage Beenden, 580, 654 DrawImage Credits, 644, 513 DrawImage Intro, 710, 372 DrawImage Beginnen, 785, 230 If ChannelPlaying(Soundkanal) = 1 Then DrawImage Soundbutton, 105, 638 ElseIf ChannelPlaying(Soundkanal) = 0 Then DrawImage Soundbutton_Over, 105, 638 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Beenden, 580, 654) Then If MouseHit(1) = 1 Then End EndIf DrawImage Beenden_Over, 580, 654 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Credits, 644, 513) Then DrawImage Credits_Over, 644, 513 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Intro, 710, 372) Then DrawImage Intro_Over, 710, 372 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Beginnen, 785, 230) Then DrawImage Beginnen_Over, 785, 230 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Soundbutton, 105, 638) And MouseHit(1) = 1 And ChannelPlaying(Soundkanal) = 1 Then DrawImage Soundbutton_Over, 105, 638 StopChannel(Soundkanal) EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Soundbutton_Over, 105, 638) And MouseHit(1) = 1 And ChannelPlaying(Soundkanal) = 0 Then PlaySound(Sound) DrawImage Soundbutton, 105, 638 EndIf DrawImage Cursor, MouseX(), MouseY() Flip Wend |
||
|
|
Hubsi |
Antworten mit Zitat |
|---|---|---|
|
Das Problem ist das MouseHit() den Buffer leert. Speicher zu Beginn der While-Schleife dessen Wert in einer Variable (z.B. mh=MouseHit(1)) und prüfe dann auf diese Variable:
Code: [AUSKLAPPEN] While ...
mh=MouseHit(1) If ImagesOverLap(bla,...) And mh=1 Then ; Code EndIf |
||
| Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... | ||
Affje |
Antworten mit Zitat |
|
|---|---|---|
|
hmmm, geht irgendwie nicht, wenn ich auf den button drücke, ändert sich zwar das bild, aber er spielt das lied gleich wieder ab....
Code: [AUSKLAPPEN] ;*Ilendurs Vermächtnis, ein Spiel für die Drachengarde* Graphics 1024, 768, 32, 1 SetBuffer BackBuffer() ;Laden der Bilder und des Sounds Hintergrundbild = LoadImage("Daten\Bilder\Menu.jpg") Cursor = LoadImage("Daten\Bilder\Cursor.bmp") Beenden = LoadImage("Daten\Bilder\Beenden.jpg") Beenden_Over = LoadImage("Daten\Bilder\Beenden_Over.jpg") Credits = LoadImage("Daten\Bilder\Credits.jpg") Credits_Over = LoadImage("Daten\Bilder\Credits_Over.jpg") Intro = LoadImage("Daten\Bilder\Intro.jpg") Intro_Over = LoadImage("Daten\Bilder\Intro_Over.jpg") Beginnen = LoadImage("Daten\Bilder\Beginnen.jpg") Beginnen_Over = LoadImage("Daten\Bilder\Beginnen_Over.jpg") Soundbutton = LoadImage("Daten\Bilder\Soundbutton.jpg") Soundbutton_Over = LoadImage("Daten\Bilder\Soundbutton_Over.jpg") Sound = LoadSound("Daten\Musik.mp3") Soundkanal = PlaySound(Sound) ;das Hauptmenü .Hauptmenu While Not KeyHit(1) Maustaste = MouseHit(1) DrawImage Hintergrundbild, 0, 0 DrawImage Beenden, 580, 654 DrawImage Credits, 644, 513 DrawImage Intro, 710, 372 DrawImage Beginnen, 785, 230 If ChannelPlaying(Soundkanal) = 1 Then DrawImage Soundbutton, 105, 638 ElseIf ChannelPlaying(Soundkanal) = 0 Then DrawImage Soundbutton_Over, 105, 638 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Beenden, 580, 654) Then If MouseHit(1) = 1 Then End EndIf DrawImage Beenden_Over, 580, 654 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Credits, 644, 513) Then DrawImage Credits_Over, 644, 513 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Intro, 710, 372) Then DrawImage Intro_Over, 710, 372 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Beginnen, 785, 230) Then DrawImage Beginnen_Over, 785, 230 EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Soundbutton, 105, 638) And Maustaste = 1 And ChannelPlaying(Soundkanal) = 1 Then DrawImage Soundbutton_Over, 105, 638 StopChannel(Soundkanal) EndIf If ImagesOverlap(Cursor, MouseX(), MouseY(), Soundbutton_Over, 105, 638) And Maustaste = 1 And ChannelPlaying(Soundkanal) = 0 Then PlaySound(Sound) DrawImage Soundbutton, 105, 638 EndIf DrawImage Cursor, MouseX(), MouseY() Flip Wend kann mir mal jemand seinen code in meinen einfügen?? |
||
|
|
soli |
Antworten mit Zitat |
|---|---|---|
|
Ich denke du solltest die Variable Maustaste auf Null zurückstellen,
nachdem du Sie benutzt hast. soli |
||
| solitaire | ||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group
