Die Botschaft ist mittlerweile angekommen. Habe das Problem jetzt gelöst.
Code: Alles auswählen
InitSprite()
InitKeyboard()
ResX = 800
ResY = 600
OpenWindow(0, 0, 0, 800, 650, "Cossin",#PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget)
ButtonGadget(1, 0, 600, 100, 50, "Hide Cos") : ShowCos = 1
ButtonGadget(2, 100, 600, 100, 50, "Hide Sin") : ShowSin = 1
TextGadget(5, 250,605,50,20,"Amplitude:")
TextGadget(6, 250,625,50,20,"Amplitude:")
TrackBarGadget(3, 300, 600, 100, 20, 0, 200): SetGadgetState(3, 40): GadgetToolTip(3,"Kosinus") ; Schieber Kosinus
TrackBarGadget(4, 300, 620, 100, 20, 0, 200): SetGadgetState(4,100): GadgetToolTip(4,"Sinus") ; Schieber Sinus
OpenWindowedScreen(WindowID(0), 0, 0, ResX, ResY, 0, 0, 0)
Procedure.f CosW(w)
ProcedureReturn Cos((3.141592653589793238/180)*w)
EndProcedure
Procedure.f SinW(w)
ProcedureReturn Sin((3.141592653589793238/180)*w)
EndProcedure
Repeat
Repeat
Event = WindowEvent() ; Ist etwas im Fenster passiert?
Select Event
Case #PB_Event_Gadget ; Ein Gadget wurde gedrückt
Select EventGadget()
Case 1 ; Button 1
If ShowCos = 1
ShowCos = 0
SetGadgetText(1,"Show Cos")
Else
ShowCos = 1
SetGadgetText(1,"Hide Cos")
EndIf
Case 2 ; Button 2
If ShowSin = 1
ShowSin = 0
SetGadgetText(2,"Show Sin")
Else
ShowSin = 1
SetGadgetText(2,"Hide Sin")
EndIf
EndSelect
Case #PB_Event_CloseWindow ; Fenster schliessen
End
EndSelect
Until Event = 0
ClearScreen(0)
StartDrawing(ScreenOutput())
For y = 0 To ResY-1 Step 15
For x = 0 To ResX-1 Step 15
Plot(x,y,RGB(100,100,100))
Next
Next
For x = 0 To ResX Step 100
Line(x,0,1,768,RGB(64,64,64))
Next
For y = 0 To ResY Step 100
Line(0,y,1024,1,RGB(64,64,64))
Next
For x = 1 To ResX-1
If ShowCos
h = GetGadgetState(3)
y = h * CosW(x) + ResY/2
Plot(x,y,RGB(0,255,0))
EndIf
If ShowSin
h = GetGadgetState(4)
y = h * SinW(x) + ResY/2
Plot(x,y,RGB(255,0,0))
EndIf
Next
StopDrawing()
FlipBuffers()
ForEver