I have changed the 12.event to this:
+ System: Always (every tick)
-> scroller: Add 300 * TimeDelta to 'scrollSpeed'
-> scroller: Set X to lerp(scrollBox.Value('scrollStart') , scrollBox.Value('scrollEnd') , sin((scroller.Value('scrollSpeed')+1)/2 ) )
Looks like its only working well with the sprite, the button still has the ~0,5s delay.
Edit:
Btw when you use the "else" statement the other conditions are doesnt matters, so lets say, if you want to check a variable, you should do it like this:
if a > 0:
if a < 0:
else:
So if a isnt higher than 0, and a isnt lower than 0, then it'll do what you "said" in your else loop, but only in that case.