ein und ausschalten geht nicht

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Affje

Betreff: ein und ausschalten geht nicht

BeitragSa, März 13, 2004 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
hi

ich habe einen button, mit dem man den sound an und austellen kann. nur eben das geht nicht Sad

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

BeitragSa, März 13, 2004 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 13, 2004 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, März 14, 2004 11:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke du solltest die Variable Maustaste auf Null zurückstellen,
nachdem du Sie benutzt hast.

soli
solitaire

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group