Charts 灵活:将数据点从绘图仪中的一个位置移动到另一个位置
我有一个flex绘图仪,我需要一个动画,使我能够将数据点从一个位置移动到另一个位置。还必须显示实际移动情况 我尝试了移动控制,但对play()的调用无效 任何提示都会大有帮助Charts 灵活:将数据点从绘图仪中的一个位置移动到另一个位置,charts,flex3,Charts,Flex3,我有一个flex绘图仪,我需要一个动画,使我能够将数据点从一个位置移动到另一个位置。还必须显示实际移动情况 我尝试了移动控制,但对play()的调用无效 任何提示都会大有帮助 提前感谢经过大量努力,我发现将点从一个点移动到另一个点的一种方法是使其沿直线方程移动,并在延迟一段时间后在图形上渲染中间点 我将分享代码 将以下行放置在要开始移动的位置: setTimeout(showLabel,singleDuration,oldLocation,newLocation,
提前感谢经过大量努力,我发现将点从一个点移动到另一个点的一种方法是使其沿直线方程移动,并在延迟一段时间后在图形上渲染中间点 我将分享代码 将以下行放置在要开始移动的位置:
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将保持直线方程的中间点。将其作为图形上一系列的数据提供程序,然后在移动所有点后将其删除。PlotgraphHarrayColl是保存新移动点的数据提供程序
可能有更好的方法,但对我来说很有效。。。如果有人找到更容易的事,一定要告诉他。。谢谢