Doug, First I'd like to say how much I enjoy your blog and tinkering with the things you create. I learn a ton off your blog. :-)
I had posted on Michael's blog a couple days ago asking if he was going to post the source for the carousel. I wan't holding my breath though since I noticed he just had a new addition to his family arrive. I'm happy to hear he found the time to post it. I knew there had to be something going on in his carousel that I wasn't thinking about. Tweening the one currentPosition property instead of a bazillion tweens makes absolute sense. Funny you should mention Jim Armstrong's site. I spend quite some time there yesterday reading his stuff. Very interesting stuff but like you said, complete overkill for what I am trying to achieve. I also wanted to avoid a heavy height engine like papervision. Thanks for your post, it helped a lot. Mike --- In [email protected], "Doug McCune" <[EMAIL PROTECTED]> wrote: > > For starters, the presentation you're referring from Michael Labriola to was > just posted online: http://blogs.digitalpri > mates.net/codeSlinger/index.cfm/2007/10/28/Max-Presentation > > The basic idea that I think makes sense for you to approach the problem with > is that you want a function that lays out all your items for any given > rotation of the circle. This function doesn't do anything in terms of > animating. All it does is lays out your items given a particular rotation of > your circle. So if you have a method like: > > function layoutItems(angle:Number):void { > //layout all your items here for the given angle passed in > } > > then you just make sure to call that function whenever you change the > rotation of your circle. You can make that happen in a setter for a property > on your class, and then you can tween that property. Not sure if that's all > making sense. Take a look at the code from the MAX preso in the link above. > You'll see a setter for a property called currentPosition. That setter calls > invalidateDisplayList(), and in updateDisplayist he's got the code that > moves all the items to their proper positions given whatever currentPosition > has been set to. > > Then what he does is tweens the currentPosition property. So he doesn't have > to have a bazillion tweens running for each of his items. He tweens a single > property, and then when that property gets set, he makes sure to re-layout > the items. > > If you want to go completely overboard and learn how to do crazy stuff with > animating on paths (in 2D and in 3D) then you can read up on Jim Armstrong's > blog: http://algorithmist.wordpress.com He has tons of stuff about animating > along curves and gets into the crazy math you need. That's overkill for what > you're trying to do, but worth checking out. > > Doug > > On 10/28/07, Bjorn Schultheiss <[EMAIL PROTECTED]> wrote: > > > > I wasn't at Max, but have you seen this, > > http://labs.zeh.com.br/blog/?p=95 ? > > > > Bjorn > > > > > > On 29/10/2007, at 1:34 AM, snowjunkie73 wrote: > > > > At Adobe Max 2007 I went to a session on creating custom components in > > Flex. The example component used in the session was a custom carousel > > component where objects would tween along a circular path. The source > > for this example class was never released, but I am fairly certain > > that the math for the path was done entirely in Flex, and it was not > > using a Flash CS3 generated path. The movement was nice and smooth. > > > > I'm trying to do my own tweening along a circular path but in a flat > > 2d manner. I've done all the math in action script 3 to find the > > circular path but I am having trouble getting objects to move smoothly > > along the path. Basically I pick a number of points along the path > > and use Move effects from point to point. The more points I pick the > > closer it appears to be on a true circle. I've tried both manually > > kicking off each individual move effect from the effect end event and > > also putting the move effects in a sequence effect. Both methods > > cause the motion to be either extremely slow (if I set each move > > duration to be large) or pretty jerky (if I set the move duration to > > be very small like 0-2). It appears that there is a pause between the > > end of each move effect before the next move effect starts. > > > > The reason I want to do it all in code is that I want to be able to > > vary the radius of my circular path dynamically. Anyone have ideas on > > how I can get smoother motion along my path? Thanks in advance. > > > > > > >

