Verfasst: 25.03.2009 17:48
Da ist ein Fehler beim ausführen "There is no current GadgetList" ZEILE 17.
Verstehe auch nicht woran das liegt...
Glaube das muss oben nach OpenWindow() stehen.
Verstehe auch nicht woran das liegt...
Glaube das muss oben nach OpenWindow() stehen.
Code: Alles auswählen
InitSprite()
InitSound()
If OpenWindow(0,0,0,640,480,"Metronom",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(0),0,0,480,480,0,160,0) = 0
TextGadget(0,490,13,80,20,"Intervall in ms")
SpinGadget(1,570,10,60,20,25,10000) : SetGadgetState(1,Wechsel) : SetGadgetText(1,Str(Wechsel))
TextGadget(2,490,43,80,20,"Lautstärke")
TrackBarGadget(3,560,40,80,20,0,100) : SetGadgetState(3,100)
ButtonGadget(4,490,70,140,20,"Sound ändern")
ButtonGadget(5,490,100,65,20,"Hintergrund")
ButtonGadget(6,565,100,65,20,"Fordergrund")
ComboBoxGadget(7,490,130,140,20)
AddGadgetItem(7,0,"Zeiger-Metronom") : SetGadgetState(7,0)
AddGadgetItem(7,1,"Punkt-Metronom")
AddGadgetItem(7,2,"Ball-Metronom")
;Fehler
End
EndIf
Wechsel = 1000 ;Alle 1000ms (1 sek) ein Takt
BackColor = $FFFFFF
FrontColor = $00FF00
Type = 0
If LoadSound(0,"C:\Programme\PureBasic\pong.wav")
Sound = 1
Else
Sound = -1
EndIf
Metronomx = ElapsedMilliseconds()
Repeat
ClearScreen(BackColor)
StartDrawing(ScreenOutput())
FrontColor(FrontColor)
Select Type
Case 0
If Metrox = 1
LineXY(240,470,(ElapsedMilliseconds()-Metronomx)*460/Wechsel+10,10)
Else
LineXY(240,470,(Metronomx-ElapsedMilliseconds())*460/Wechsel+470,10)
EndIf
Case 1
If Metrox = 1
Circle(80,120,40+(Metronomx-ElapsedMilliseconds())*39/Wechsel)
Else
Circle(400,120,40+(Metronomx-ElapsedMilliseconds())*39/Wechsel)
EndIf
Case 2
If Metrox = 1
Circle(240+Cos((ElapsedMilliseconds()-Metronomx)*#PI/Wechsel+#PI)*200,240+Sin((ElapsedMilliseconds()-Metronomx)*#PI/Wechsel+#PI)*200,25)
Else
Circle(240+Cos((Metronomx-ElapsedMilliseconds())*#PI/Wechsel)*200,240+Sin((Metronomx-ElapsedMilliseconds())*#PI/Wechsel)*200,25)
EndIf
EndSelect
StopDrawing()
FlipBuffers()
If ElapsedMilliseconds()-Metronomx >= Wechsel
If Metrox = 1
Metrox = 0
If Sound = 1
SoundPan(0,100)
EndIf
Else
Metrox = 1
If Sound = 1
SoundPan(0,-100)
EndIf
EndIf
Metronomx = ElapsedMilliseconds()
If Sound = 1
PlaySound(0)
EndIf
EndIf
event = WindowEvent()
Select event
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case 1
SetGadgetText(1,Str(GetGadgetState(1))+" ms")
Wechsel = GetGadgetState(1)
Case 3
If Sound <> -1
If GetGadgetState(3) = 0
Sound = 0
Else
Sound = 1
SoundVolume(0,GetGadgetState(3))
EndIf
EndIf
Case 4
path$ = OpenFileRequester("Sound auswählen!","","WAV-Dateien|*.wav",0)
If path$
If Sound = -1
If LoadSound(0,path$)
Sound = 1
EndIf
Else
StopSound(0)
FreeSound(0)
If LoadSound(0,path$) = 0
Sound = -1
EndIf
EndIf
EndIf
Case 5
buff = ColorRequester()
If buff > -1
BackColor = buff
EndIf
Case 6
buff = ColorRequester()
If buff > -1
FrontColor = buff
EndIf
Case 7
Type = GetGadgetState(7)
EndSelect
EndSelect
ForEver
EndIf