Share Posted February 23, 2011 Hello, i need TimelineMax in a AS2 project, but there is a problem: The onComplete-Funktion fires directly in the first second not on end of the tweening queue. And i could not pause the sequence on Frame 45. Here my code: import com.greensock.*; import com.greensock.easing.*; var calDelay:Number = 2; var myTimeline:TimelineMax = new TimelineMax(onComplet:step1complete); myTimeline.insert(new TweenMax.from(bg1, 1, {_alpha:0, blurFilter:{blurX:20}, delay:0.5})); myTimeline.append(new TweenMax.from(cal_januar, 0.8, {_alpha:0, _x:750, ease:Back.easeOut, delay:calDelay + 0.1})); myTimeline.append(new TweenMax.from(cal_januar_mask, 0.8, {_x:750, ease:Back.easeOut, delay:calDelay + 0.1})); myTimeline.append(new TweenMax.from(cal_februar, 0.8, {_alpha:0, _x:750, ease:Back.easeOut, delay:calDelay + 0.2})); myTimeline.append(new TweenMax.from(cal_februar_mask, 0.8, {_x:750, ease:Back.easeOut, delay:calDelay + 0.2})); myTimeline.append(new TweenMax.from(cal_march, 0.8, {_alpha:0, _x:750, ease:Back.easeOut, delay:calDelay + 0.3})); myTimeline.append(new TweenMax.from(cal_march_mask, 0.8, {_x:750, ease:Back.easeOut, delay:calDelay + 0.3})); myTimeline.append(new TweenMax.from(cal_april, 0.8, {_alpha:0, _x:750, ease:Back.easeOut, delay:calDelay + 0.4})); myTimeline.append(new TweenMax.from(cal_april_mask, 0.8, {_x:750, ease:Back.easeOut, delay:calDelay + 0.4})); function step1complete():Void { trace("Step1Complete"); } on Frame 45 i have this code: myTimeline.pause(); but nothing happend. Please help me Link to comment Share on other sites More sharing options...
Share Posted February 23, 2011 your syntax is wrong. also a suggestion, as I see it mask and masked objects are moved the same, so a good idea maybe would be to put those into a container, push the container into an array and then animate that. Try this // SETUP =============================== // make an array var arrMonth:Array = new Array(); // Do something like this to all your mask/masked pairs var monthCon:MovieClip = this.createEmptyMovieClip("monthCon",this.getNextHighestDepth()); monthCon.attachMovieClip("cal_januar","cal_januar",monthCon.getNextHighestDepth()); monthCon.attachMovieClip("cal_januar_mask","cal_januar_mask",monthCon.getNextHighestDepth()); // push container into array arrMonth.push(monthCon); // ANIMATION =============================== import com.greensock.*; import com.greensock.easing.*; TweenMax.from(bg1, 1, {_alpha:0, blurFilter:{blurX:20}, delay:0.5})); var myTimeline:TimelineMax = new TimelineMax({onComplete:step1complete}); myTimeline.insertMultiple( TweenMax.allFrom(arrMonth, 0.8, {_alpha:0, _x:750, ease:Back.easeOut}, 0.1), 0.0); // objects, time, { props }, stagger (delay between each object in array), delay (before timelinemax starts) function step1complete():Void { trace("Step1Complete"); } Link to comment Share on other sites More sharing options...
Author Share Posted February 23, 2011 Hello Hippiesvin, thx a lot for your answer. But it i can't use your solution. I will have a global button to pause and resume all framebased AND greensock-based animations. Thats why i insert all Animations into TimlineLite to pause all current availible animations. My problem: If i press the pause button to pause all animations, nothing happend. (I think there is a global Problem in my skript because the onComplete-Funktion starts at the beginning of my Tween) I hope you understand my bad english Link to comment Share on other sites More sharing options...
Share Posted February 23, 2011 Hippiesvin was correct - you mistyped "onComplete": BAD: onComplet:step1complete GOOD: onComplete:step1complete I don't see any reason why your step1complete function would be called immediately, but maybe you have some other code that's causing problems elsewhere. Difficult to troubleshoot without seeing an FLA that demonstrates the problem. Feel free to post one, but please remove ALL unnecessary code and only use the absolutely essential code to reproduce the issue. No need to post your production files. Also, it sounds like you may have a scope issue (which is common in AS2). Try defining the onCompleteScope, like this: var myTimeline:TimelineMax = new TimelineMax(onComplete:step1complete, onCompleteScope:this); Link to comment Share on other sites More sharing options...
Author Share Posted February 24, 2011 Good morning At first: Thx a lot for your help. As attachment, there is an example file. You will see the onComplete function starts on Tween-Start AND the pause() func after some Frames don't work. To info: In the real project i would not use the pause() func in this type. There will be a btn and this btn will pause() the framebased anis and the grennsockanis. Thx a lot for your help I'm very interessted in your comments. Kind regards HM Link to comment Share on other sites More sharing options...
Share Posted February 24, 2011 You were using the wrong syntax so it was causing the Flash Player to choke. BAD: myTimeline.append( new TweenMax.from(...) ); GOOD: myTimeline.append( TweenMax.from(...) ); You either use "new TweenLite(...)" or you use "TweenLite.from(...)" or "TweenLite.to(...)". You don't mix them with "new TweenLite.from()" Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now