'set these parameters:
Dim Duration As Float = 3.5 'seconds
StartX = 123
EndX = 456
StartY = 789
EndY = 1011
StartRed = 23
EndRed = 34
StartGreen = 56
EndGreen = 78
StartBlue = 90
EndBlue = 12
'and do this initialization:
Dim XPerSecond As Float = (EndX - StartX) / Duration
Dim YPerSecond As Float = (EndY - StartY) / Duration
Dim RedPerSecond As Float = (EndRed - StartRed) / Duration
Dim GreenPerSecond As Float = (EndGreen - StartGreen) / Duration
Dim BluePerSecond As Float = (EndBlue - StartBlue) / Duration
Dim StartTime As Long = Now()
'and then for each frame:
Dim SecondsSinceStart = As Float (Now() - StartTime) / 1000 'assuming Now() is in milliseconds'
X = StartX + XPerSecond * SecondsSinceStart
Y = StartY + YPerSecond * SecondsSinceStart
Red = StartRed + RedPerSecond * SecondsSinceStart
Green = StartGreen + GreenPerSecond * SecondsSinceStart
Blue = StartBlue + BluePerSecond * SecondsSinceStart