pragdave Posted March 2, 2020 Posted March 2, 2020 I'm animating simulations, and so I often have to kick things when events occur, and while other things are happening. Imagine, for example, I add boxes to a conveyor belt as they arrive. I have a timeline for boxes on the belt, and I want to add the new box and start it's animation _now_. I'm probably missing something, but the way I currently do it is tl.to(box, { ... }, tl.time()) I was thinking: is there any demand for adding a "=" offset, analogous to < and >, which means "now". "=2" would be 2 seconds from now, etc. (And I bet there's already a way to do this that I haven't noticed. Apologies if so) Dave
OSUblake Posted March 2, 2020 Posted March 2, 2020 56 minutes ago, pragdave said: Imagine, for example, I add boxes to a conveyor belt as they arrive. I have a timeline for boxes on the belt, and I want to add the new box and start it's animation _now_. Do you even need a timeline for something like that? I mean, if I want something to start now, I probably wouldn't bother with inserting an animation on a timeline that is already running. I would just create a separate animation for the box. But maybe you're doing more with the timeline than what you've described. ?♂️ 56 minutes ago, pragdave said: I was thinking: is there any demand for adding a "=" offset I think this is the first time I've seen someone ask for something like that. 56 minutes ago, pragdave said: (And I bet there's already a way to do this that I haven't noticed. Apologies if so) Not that I can think of. I think your solution is perfectly fine. 2
pragdave Posted March 2, 2020 Author Posted March 2, 2020 9 minutes ago, OSUblake said: Do you even need a timeline for something like that? I mean, if I want something to start now, I probably wouldn't bother with inserting an animation on a timeline that is already running. I would just create a separate animation for the box. But maybe you're doing more with the timeline than what you've described. ?♂️ If the conveyor stops, for example, then all the boxes on it should stop. Right now, I just pause the timeline. If they were all separate, then I'd need to keep track of them. It's not a major issue, but at the same time it seems like a fairly trivial change
OSUblake Posted March 2, 2020 Posted March 2, 2020 8 minutes ago, pragdave said: If the conveyor stops, for example, then all the boxes on it should stop. Right now, I just pause the timeline. If they were all separate, then I'd need to keep track of them. Oh, I see. 8 minutes ago, pragdave said: It's not a major issue, but at the same time it seems like a fairly trivial change @GreenSock would have to weigh in on that.
GreenSock Posted March 3, 2020 Posted March 3, 2020 Yep, your solution is exactly what I'd do (use tl.time()). As for adding a special character to swap in for that, I'll keep it in mind and if there's enough demand I'll definitely consider it but for now it doesn't seem like it's worth the added API surface area and kb (not that it'd cost a lot...but like Blake, I haven't heard anyone express a need/desire for this in the past). Is your main goal to just do less typing? "=" instead of tl.time()? 1
pragdave Posted March 3, 2020 Author Posted March 3, 2020 I think my main goal is to make the code a little bit more expressive. < and > are really nice visually, and make the timelines easy to reason about. tl.time() isn't rocket science, but it does break the flow just a little. The strange thing is that I'm finding myself having to use this all over the place. My use case is an animation tracks a queuing system, with randomly distributed arrival rates, a limited buffer, and one or more servers that read from the queue. There's no one fixed overall timeline, because what happens isn't predetermined. In that environment, I'm totally event driven, and when an event occurs, I need to kick off the corresponding animation exactly at that time. I'm seriously impressed that GSAP can rock and roll like that. It just occurred to be that, in my particular case, the= notation would express my intent better. Thanks for a great product Dave 1
ZachSaucier Posted March 3, 2020 Posted March 3, 2020 11 minutes ago, pragdave said: My use case is an animation tracks a queuing system, with randomly distributed arrival rates, a limited buffer, and one or more servers that read from the queue. There's no one fixed overall timeline, because what happens isn't predetermined. Sounds like an edge case to me
GreenSock Posted March 3, 2020 Posted March 3, 2020 1 hour ago, pragdave said: I'm seriously impressed that GSAP can rock and roll like that. It just occurred to be that, in my particular case, the= notation would express my intent better. Thanks for a great product Thanks for the kind words and for giving us a little more context. Yeah, I'll certainly keep this in mind as a potential feature if we sense there's enough demand for it in the future. ?
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