基于更改dataProvider为LineChart设置动画

时间:2011-07-07 22:11:57

标签: flex actionscript-3 actionscript flex4 charts

我需要能够根据SeriesInterpolate数据效果为LineChart设置动画(我将有一个数据加工数组)。我想要一个“播放”按钮,它将:

  1. 使用数组中的第一个数据提供者初始化LineChart
  2. 启动动画并等待动画完成,然后再加载第二个数据提供者
  3. 重复此过程,直到加载数组中的所有数据提供程序
  4. 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

没问题,你只是要使用effectEnd事件

所以在你的效果上,你需要附加effectEnd监听器,如下所示:

<mx:SeriesInterpolate id="interpolateIn" duration="1000" effectEnd="fetchNextDataset()"/> 

然后在您的代码中,您需要存储数据集,以及您当前正在查看的索引,最后是切换它们的方法。

        private var datasets        :ArrayCollection;   // fill with your datasets              
        private var currentDataset  : uint = 0;         // holds current dataset

        private function fetchNextDataset () : void {
            if( currentDataset >= datasets.length) return;  // out of range, played em all!
            candlestickchart.dataProvider = datasets.getItemAt(currentDataset);
            currentDataset++;
        }

就播放按钮而言,它需要做的就是第一次调用fetchNextDataset();

<mx:Button label="play" click="fetchNextDataset()"/>

有意义吗?