Your suggestion does not solve the following scenario:
I have a sprite and I want to tween its CURRENT color alpha to another value (lets say to 0.0)
Take a look at the following snippet:
SetWindowSize(800, 480, 0)
SetVirtualResolution(800, 480)
my_sprite = CreateSprite(0)
SetSpriteSize(my_sprite, 64, 64)
SetSpritePosition(my_sprite, 400.0, 240.0)
SetSpriteColorAlpha(my_sprite, 128)
alpha_begin = GetSpriteColorAlpha(my_sprite)
my_tween = CreateTweenCustom(2.0)
SetTweenCustomInteger1(my_tween, alpha_begin, 0, 0)
do
// press left mouse button or tap screen to start
if GetPointerPressed() = 1
PlayTweenCustom(my_tween, 3.0)
endif
// get the tween value
tween_value = GetTweenCustomInteger1(my_tween)
SetSpriteColorAlpha(my_sprite, tween_value)
Print("Click to start the tweening")
Print("begin=" + str(alpha_begin))
print(tween_value)
UpdateAllTweens( getframetime() )
sync()
loop
the sprite will not be visible until the tween starts. In our case it will be visible after 3.0 seconds