Code: Select all
;Color morphing example by Joakim L. Christiansen
OpenWindow(0,0,0,320,480,"Color morphing!",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
Color1 = RGB(Random(255),Random(255),Random(255))
Color2 = RGB(Random(255),Random(255),Random(255))
ColorWas = Color1
Red.f = Red(Color1)
Green.f = Green(Color1)
Blue.f = Blue(Color1)
X = 80 ;Could be any value
XW = X
Repeat
X - 1
Red + ( Red(Color2)-Red(ColorWas) ) / XW
Green + (Green(Color2)-Green(ColorWas)) / XW
Blue + ( Blue(Color2)-Blue(ColorWas) ) / XW
Color1 = RGB(Red,Green,Blue)
;Debug Str(Red(Color1))+"."+Str(Green(Color1))+"."+Str(Blue(Color1))
StartDrawing(WindowOutput(0))
Box(0,0,160,480,Color1)
Box(160,0,160,480,Color2)
StopDrawing()
If WindowEvent()=#PB_Event_CloseWindow
End
EndIf
Delay(20)
Until X=0
If Color1 <> Color2
MessageRequester("ERROR","Not the same!")
EndIf
Delay(1000)
