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