Yes, the problem is when another transform has disrupted the transform before it while it's still active. Therefore, the earlier transform stops half way through when the new transform started. The solution is to set the position of the sprite where you want them to be before applying another transform, to prevent the previous transform stop half way through.
"on replaced" only apply to the previously shown sprite. The sprite with new transform won't wait for the previous transform to finish.
The issue seems to appears only when fast forwarding, and around the use of "ybound" and "xshake". So set the position and alpha of those sprites to where it should be before use those transform would help.
Perhaps, something like this:
Code: Select all
transform finished_left:
xalign 0.0 alpha 1.0
transform finished_right:
xalign 1.0 alpha 1.0
label start:
. . .
inky "Friends already? That's just like you, Mister."
show pens at finished_right
show pens at ybounce
pens "Look the guy. He's just too darn loveable!"
show wilbur sad at finished_left
show wilbur sad at xshake
wilbur "I do not like this. He is making me feel strange."
. . .
You still have to make more finished transform for other parts like resetting the "yzoom", "xoffset", and other things that been put to linear or ease before applying a new transform to prevent the midway stop transform issue when fast forward.