If you move sort(a, l, i-1); sort(a, i+1, r); into the event handler, you should have what you want.
Paul ----- Original Message ----- From: "Nicholas" <[EMAIL PROTECTED]> To: <flexcoders@yahoogroups.com> Sent: Tuesday, May 13, 2008 6:07 AM Subject: [flexcoders] Delay recursive function > I've looked for other threads on this, but haven't found anything that > has really helped me yet. > > I've made a sorting function that dispatches an event every time it > swaps values in an array. The eventlistener calls a function that > updates a display to show visually how the array has changed. The > problem is that when I call the sort function, there's only a slight > hesitation and then the display changes to the end result. > > I'm guessing that the changes are happening too fast for the user to > see. In a Java environment, I would just Thread.sleep during the sort > function to slow it down, but I can't do that in AS3. > > Does anyone have any ideas? I've looked all over, but it's possible > I'm just not properly using the solutions I've found. > > In case it helps, here's the basic layout of the class: > > class Sort { > function partition(a:Array, l:int, r:int):int { > // look around > // swap values > dispatchEvent(SortEvent.UPDATE); // SortEvent is a custom event > // would like to pause this function here > return value; > } > function sort(a:Array, l:int, r:int) { > if (l >= r) return; > var i:int = partition(a,l,r); > sort(a, l, i-1); > sort(a, i+1, r); > } > } > > > ------------------------------------ > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups > Links > > > >