Jump to content
Search Community

shifty

Members
  • Posts

    6
  • Joined

  • Last visited

shifty's Achievements

0

Reputation

  1. Ah, it becomes clear. I had suspicions that something like that was happening as I built the sample FLA to illustrate. Indeed, I was thinking that by changing the duration, the timeline would implicitly compensate by moving the 'later' timelines and their children back appropriately. This probably would have been easier to pick up on had I not been manipulating the duration of a tween that didn't really do any visual work. It would be extremely useful for my particular application, but probably not the desired behavior in general. Anyway, I believe you've solved my misunderstanding, and I think I can make a fix. Thanks very much for the help!
  2. I made a simple example of the problem I have, based on the original code I had problems with, but I stripped out everything but the essentials. There's a little code in the slider movieclip that's on stage, this is just to update the main code with the position of the slider. The main code is on the main timeline. To test out the problem: 1. Publish the FLA. Immediately, the timeline will begin, and the seconds display will count down, starting at 15. 2. Before the counter goes down to 0, move the slider all the way to the right. This should lengthen each step to a duration of 30 seconds, starting with the next step. 3. Observe that once the timeline moves on to the second step (you'll see "done: variable - 1" in the trace), the counter begins at 30. 4. Notice that when the counter hits 15 (has been playing for 15 seconds), it resets back to 30 as it plays the third step. The expected behavior would be for it to count down all the way to 0 before playing the third step.
  3. I got the latest update, but the behavior is the same.
  4. I am sure I must be missing something, but I'm stumped. I have a TimelineMax instance, composed of Timelines and Tweens. One of the Tweens in this Timeline pads the end of the Timeline with 'dead time', which is implemented by this initialization code: //laserSequence is a TimelineMax instance which has already had multiple inserts of various sorts //scale is the full time we want the whole animation to play //laserSequence.duration is the amount of time occupied by 'meaningful' animation (stuff is happening on the screen) var deadTime:Number = scale - laserSequence.duration; var waiting:TweenMax = TweenMax.to(null, deadTime, {}); laserSequence.append(waiting); I'm forming a 'bigger' animation by putting each individual laserSequence in another TimelineMax, but I don't believe that to be relevant for this problem. This code works to create the initial Timeline correctly, that is, deadTime is appended to the laserSequence's animation length. However, if I attempt to update the duration of this 'null tween', caused by a scrubber on the front end that lets the user change the duration of an animation sequence, the laserSequence.duration value changes, but it still plays the original duration. In my situation, deadTime is initially set to 15 seconds, and when I move the scrubber to the other end (which should change deadTime to 30 seconds), a display counter on the screen shows the animation counting down from 30 to 15, at which point it moves on to the next sequence. I would expect it would continue to play for another 15 seconds. This is the code I'm using to attempt the duration change (I have tried several different alternatives, such as TimelineMax.remove(tween), TimelineMax.append(tween), but the same behavior occurs): //each of these top level timelines is appended with a 'deadtime' tween //get it, and replace it with one to match the new scale var nullTween:TweenMax = timeline.getChildren(false, true, false).pop(); //this calculation determines the new required length of dead time var deadTime:Number = toolbarInstance.animationScale - (timeline.duration - nullTween.duration); //update the tween that pads the end of the animation nullTween.duration = deadTime; The impression I get is that there's some kind of caching or something that needs to be refreshed, and while changing the duration value actually changes the value, it doesn't seem to be considering that when playing the animation.
  5. I've used TimelineMax.getActive(false, false, true) to get the top level child Timelines that have played in my main Timeline. What's a good way to get the rest? For example, if a Timeline consists of [A, B, C, D, E] child timelines, and C is currently playing, I'd like to get my hands on just [D, E] (the getActive method would give me [A, B, C]).
  6. Here's the situation: I have a scene where I have articulated robot arms moving around. I'm using TimelineMax to manage all the animations using nested timelines, which eventually end in individual TweenMax instances to handle each individual bit of motion. So, there's a timeline for each full sequence, each step in the sequence is a nested timeline, and there's potentially multiple tweens in each step (multiple parts moving, etc.) The robot arms were modeled in Blender/Maya and imported using the DAE class in Papervision3D. Essentially, what I need to do is make the arms move using local rotations (only local rotations, since the robot parts must stay together physically) on each individual part, while maintaining a straight path of motion for the end piece. So, envision a robot arm composed of a base, a lower arm, and an upper arm, connected together in a chain. I need to rotate those arms at their pivots so that the end of the upper arm stays in a linear path. I'm trying use eases to control the speed of motion on each rotation, so that when each part is rotating simultaneously, the eases work together in such a way that the endpoint stays linear. I'm not having the best of luck. Has anyone dealt with this? How is this sort of thing handled typically? Trying to modify rotation angles and eases is very time consuming, and really just a lot of guessing, because the rotations are chained together and downstream rotations are very difficult to envision.
×
×
  • Create New...