Main Menu

Spinning BackDrop

Started by kevin, October 23, 2008, 11:29:56 AM

Previous topic - Next topic

kevin

 Spinning BackDrop

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

 PB Version = Any

PlayBASIC Code: [Select]
   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