В настоящее время нет встроенных способов и планов для создания анимированных макетов в Flex 4: /.
Что я сделал для этого, так это оживить настройку «setLayoutBoundsPosition» и «setLayoutBoundsSize» в макете. Поэтому вместо создания эффекта «Переместить» и «Изменение размера» для каждого элемента в макете, который фактически задал бы ширину и высоту явно, установите матрицу. Затем убедитесь, что макет снова не отменен (что произойдет, если вы установите ширину/высоту напрямую), или вы можете начать получать бесконечный цикл. Возможно, вам придется сделать некоторые трюки, чтобы заставить это работать правильно (у меня нет права работать с эффектами Spark, но это очень легко сделать с Tweener/Tweenmax, поскольку у них есть плагины и такие, которые используют «setActualSize "или" setLayoutBoundsSize "и т. д.).
Я использую TweenMax для анимации макетов, и у них есть несколько плагинов, чтобы сделать это легко. TweenMax заметно похож на 3 раза быстрее (20 кадров в секунду по сравнению с 7fps), чем Spark Effects, так что я бы пошел с этим. Это выглядит примерно так, в методе updateDisplayList
вашего макета.
TweenMax.to(child, duration, {setLayoutBoundsPosition:{x:childX * i, y:childY * i}});