If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : You can now close your own issues and reopen them later if needed. You can also comment closed issues.
List of issues#2760 Add motion tween support
Author:
iceiceice
iceiceiceDate created:
Type: feature
Visibility: Everybody
Assigned to:
Labels: Tween
State: closed 

I edit swf animations in FFDec frame by frame — too slow.
Please add motion tween: pick start/end frames with a sprite, auto-generate in-between
frames with PlaceObject tags. Support custom easing and presets (linear, ease-in and out
etc.).
In nightly 3559, you can right click a PlaceObject tag and when there is a PlaceObject in
the following frames with the same depth and same character (usually with move flag),
there will be a "Create tween" context menu item visible, click it and in the dialog, you
can select easing or custom easing curve, hit OK and it will insert PlaceObjects with
calculated matrices inbetween.
State: new→upgraded
Thanks!I saw it in the nightly 3559 changelog. Just tried it — works great, saves me a
lot of manual work.
One issue I noticed: the generated PlaceObjects don't inherit flags from the starting
PlaceObject (e.g. name, ratio, clipDepth, colorTransform). They only carry
HasMatrix/HasCharacter/Move.
This breaks AS2 references like _root.instanceName because the name is lost in the
in-between frames.
Could the generated frames copy the starting PlaceObject's flags?
I disagree. This won't break references, as the generated PlaceObjects have Move flag,
which means they inherit all parameters from previously placed object (at the same depth),
and have different matrix (hasMatrix).
See attached "test.swf" file, the script navigates it to frame 10 and then prints X
coordinate of _root.myInstance, and it works.
But I have got another idea - I can make a tween of colorTransform and ratio flags too
when they are there, not just matrix, that might be also useful.
test.swf (20 KiB)I see. You are right — I tested it and _root.instanceName still works, because of the
Move flag.
My confusion was from the UI: in the generated in-between frames, placeFlagHasName shows
false and the name field appears empty. It looks like the property is lost, even though it
is actually inherited.
Maybe the UI could show inherited properties differently (e.g. grayed out or marked as
“inherited”) so it's less confusing. But the functionality is correct.
In nightly 3561 I added new panel showing all (inherited) properties of the current depth.
State: upgraded→closed
