Do you need to lower the amount that your adding to your angle each scanline?
Code: Select all
InitSprite()
OpenWindow(0, 0, 0, 640, 480, "Sine wave", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600)
CreateSprite(0, 32, 1)
StartDrawing(SpriteOutput(0))
LineXY(0,0,32,1,255)
StopDrawing()
Pi.d = 3.1415926535897931
Phase.d = 0;
Amplitude = 100;
Waves = 2;
Angle.d = 0;
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
Rows = 40
X = 320
Y = 50
Phase + Pi/80.0
Angle = Phase
For Count = 0 To Rows
DisplaySprite(0,x + (Amplitude * Sin(Phase + Waves*Angle)),y + Count)
Angle + Pi/80.0
Next
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
ForEver