0
我有一個flex plotchart,我需要一個動畫,使我能夠將數據點從一個位置移動到另一個位置。還必須顯示實際的運動。Flex:將一個數據點從一個位置移動到另一個位置
我嘗試過移動控制,但是打電話()不起作用。
任何提示也將極大地幫助..提前
我有一個flex plotchart,我需要一個動畫,使我能夠將數據點從一個位置移動到另一個位置。還必須顯示實際的運動。Flex:將一個數據點從一個位置移動到另一個位置
我嘗試過移動控制,但是打電話()不起作用。
任何提示也將極大地幫助..提前
經過多方努力
謝謝,我發現,從1點移動到另一點的一種方式是通過使沿的移動式行和渲染一些延遲後的圖表中的中間點......
筆者給大家介紹的代碼...
將要開始運動以下行:
setTimeout(showLabel,singleDuration,oldLocation,newLocation,
Constants.TOTAL_STEPS,1,oldLocation.x, oldLocation.y, singleDuration);
這是函數的定義:
private function showLabel(oldLoc:Object newLoc: Object, totalSteps: Number,
count:Number, currentX: Number, currentY: Number, singleDuration: Number): void{
tempArrColl = new ArrayCollection();
var tempObj: Object= new Object();
xDelta = 0.25;
yDelta = 0.25;
tempObj.x = currentX + (xDelta * count);
tempObj.y = currentY + (yDelta * count);
if ((tempObj.x >= newLoc.x) || (tempObj.y >= newLoc.y)){
tempObj.x = newLoc.x;
tempObj.y = newLoc.y;
callLater(showPoint,[tempObj]);
tempArrColl = new ArrayCollection();
plotGraphArrayColl.addItem(newLoc);
return;
}
callLater(showPoint,[tempObj]);
count++;
setTimeout(showLabel, singleDuration, oldLoc, newLoc,
totalSteps, count, tempObj.x, tempObj.y, singleDuration);
}
private function showPoint(loc: Object): void {
tempArrColl.addItem(loc);
plotChart.validateNow();
}
這裏,tempArrColl將舉行沿線方程的中間點。把它作爲一個數據提供者放在圖上的一個系列中,然後一旦所有的點都移動了,就把它移除。 plotGraphArrayColl是dataProvider,它可容納新移動的點。
可能有更好的方法,但它對我有用...請告訴是否有人發現更容易..謝謝