13 Replies Latest reply on Jan 11, 2013 1:30 AM by Alesclandre

    Insert keyframe in classic tween doesn't preserve curve data in CS5?


      In earlier versions of Flash (CS3 and CS4) this technique I am about to describe works perfectly. Since Flash CS5 came along, it stopped working. I have no idea how to get it to work again. Here's what I want to accomplish:


      Draw a circle shape on the stage, convert it to a movie clip, add a new keyframe on frame 15, while on frame 15 select the circle movie clip and move it a good distance away from its original position, right click on, frame 8 and choose "create classic tween". With the classic tweened timeline selected, select the "edit tween" button in the properties panel to create a custom easing curve. I made my own easing curve that eases in and out to make the result more obvious when I describe what is now broken in Flash CS5. With onion skinning turned on, and the entire range of animation selected, you can easily see what the curve is doing to the movie clip.


      Below are screen captures of the timeline, curve editor window with my custom curve, and the resulting circle tweening on the stage with onion skinning turned on.




      This next step is where Flash CS5 breaks, and where Flash CS3 and CS4 work.


      Select, the 8th frame on the timeline, and insert a keyframe. In older versions of Flash, the custom curve would stay true to what it was before you inserted the keyframe. The curve would be cut at the point where the keyframe was inserted and the first part of the curve would get assigned to the tween from frame 1-8(in this case), and the last chunk of the split curve would get assigned to the frames 8-15(also in this case), thus preserving the original tween. However, this does not happen anymore. Instead, it does half of what it's supposed to do.


      Here's what it looks like when you add a keyframe at frame 8 with my example animation:


      - first frame selected, looking at the curve editor window:


      - this is exactly the same curve the entire span had (frame 1 - 15) before I added the keyframe on frame 8. The curve you should be seeing right now is the first half of this curve, not the whole thing. Next, let's look at the last section of the tween:


      - with frame 8 selected, let's look at the curve for this tween:


      - It's exactly what we'd expect, the last half of the original curve. Why didn't this happen to the tween in the first half? I don't know. Here's what the onion skin looks like before and after I insert the keyframe:




      These onion skins should look exactly the same (except for the fact that there should be a bright green circle where the new keyframe is, for example, the middle ball, like you see in the second image), but if you look at the second one, you can see that the first half of the tween does not match, and that the last half does. When adding a keyframe anywhere in an existing tween, the original tween should remain preserved - the original curve should get split and distributed correctly to the new tween in front and behind the new keyframe.


      I've tried using graphic symbols instead, I've tried playing with sync being on and off, i've tried it with using the built in easing (not custom easing curves), I've tried every method for inserting a keyframe that flash has to offer.. I can't figure out how to make it split the curve correctly. Has anyone else run into this problem? I do a lot of character animation, and this technique was my bread and butter, and now it's gone. I tried adapting to the new motion editor, but for character animation, the classic tween is so much faster.


      Does anyone have a solution to this problem?