0
我需要能夠根據SeriesInterpolate數據效果(我將有一個數據抖動陣列)爲LineChart設置動畫。我希望有一個「播放」按鈕,即會:基於改變數據的動畫線圖提供者
- 陣列與第一數據提供程序初始化線型圖
- 啓動動畫和等待動畫加載第二個數據提供
- 前完成重複該過程,直到陣列中的所有數據提供者都被加載
有什麼想法?
我需要能夠根據SeriesInterpolate數據效果(我將有一個數據抖動陣列)爲LineChart設置動畫。我希望有一個「播放」按鈕,即會:基於改變數據的動畫線圖提供者
有什麼想法?
沒問題,你只是要使用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++;
}
就play按鈕而言,它只需要對fetchNextDataset()進行第一次調用;
<mx:Button label="play" click="fetchNextDataset()"/>
有意義嗎?
完全!非常感謝你。 我過分複雜的問題。 :) – Mino
我們都會不時地這樣做:D – Nate
請記住,如果您想在播放它們之間暫停一段時間,您可以添加一個開始延遲,並且如果您想要暫停功能,請將效果結束監聽器移動到該按鈕以播放它(以及對fetchNext的調用),讓您可以輕鬆地創建一個暫停按鈕,只需刪除effectEnd偵聽器:D – Nate