UnderwareDESIGN

PlayBASIC => Resources => Source Codes => Topic started by: kevin on October 23, 2008, 11:29:56 AM

Title: Spinning BackDrop
Post by: kevin on October 23, 2008, 11:29:56 AM
 Spinning BackDrop

 This examples draw a spinning coloured backdrop using the goruaud triangle filler.    

 PB Version = Any

[pbcode]
   Setfps 60

   Steps=36
   Dim Palette(Steps)
   Dim Palette2(Steps)

   For lp=0 to steps
      Palette(lp)=rndrgb()   
   next

   Do

       DrawBackDrop(400,300,600,Steps,Palette())
   
      Sync
   loop
   

Function DrawBackDrop(Xpos#,Ypos#,Radius#,Steps,Colours())

   Static BaseAngle#=Wrapangle(Baseangle#,1.0)

   segmentsize#=360.0/Steps
   c1=Colours(0)
   c2=Colours(1)

   firstc2=c2

   #if PBVersion<=170
      lockbuffer
   #endif
   
   for vert=0 to steps-1
      c3=Colours(Vert+1)

      angle#=BaseAngle#+(vert*segmentsize#)
      x2#=xpos#+cosRadius(angle#,Radius#)
      y2#=ypos#+sinRadius(angle#,Radius#)

      if Vert+1<Steps
         angle#=BaseAngle#+(vert+1)*segmentsize#
      else
         angle#=BaseAngle#+0*segmentsize#
         c3=FirstC2
      endif

      x3#=xpos#+cosRadius(angle#,Radius#)
      y3#=ypos#+sinRadius(angle#,Radius#)

      GouraudTri xpos#,ypos#,c1,x2#,y2#,c2,x3#,y3#,c3
      c2=c3
   next


   #if PBVersion<=170
      unlockbuffer
   #endif

EndFunction

[/pbcode]