📄 liveoutputchart.as
字号:
class Scene.Manage.Panels.Group1.SubPanels.LiveOutputChart extends MovieClip{
var boundingBox_mc;
var _colors;
var _propertys;
var _rowHeight;
var _timeStamper;
var _dataProvider;
var __height;
var __width;
var xIncriment = 15;
var liveOutput;
//
function LiveOutputChart(){
attachMovie("LiveOutputScrollHolder", "liveOutput", getNextHighestDepth());
setSize(_width, _height);
boundingBox_mc._visible = false;
_propertys = new Array();
_timeStamper = new Date();
_dataProvider = new Object();
_dataProvider.main = new Array();
}
function addProperty(name,col){
var newLineHolder = liveOutput.holder.attachMovie("statisticHolder", "data"+name+"Holder", liveOutput.holder.getNextHighestDepth());
_dataProvider[name] = new Array();
newLineHolder.lineStyle(2, col, 100);
_propertys.push({name:name, col:col});
}
function push(data){
_dataProvider.main.push(data);
for(var i=0;i<_propertys.length;i++){
var v = _propertys[i];
var mc = liveOutput.holder["data"+v.name+"Holder"];
var thisData = data[v.name];
if(_dataProvider[v.name].length == 0){
mc.__x = 1;
mc.moveTo(1, valueToX(thisData));
_dataProvider[v.name].push({x:1, y:valueToX(thisData)});
}else{
mc.__x = mc.__x+xIncriment;
mc.lineTo(mc.__x, valueToX(thisData));
_dataProvider[v.name].push({x:mc.__x, y:valueToX(thisData)});
}
if(mc._width > __width){
var newx = (__width - mc._width)+1.5;
if(newx < -6000){
redraw(_dataProvider.main.slice(_dataProvider.main.length/2,_dataProvider.main.length));
}
mc._x = newx;
}else{
mc._x = 0;
}
}
}
function valueToX(value){
var newx = __height-((__height/100)*value);
return newx-0.4;
}
function bodyClear(data){
var td = _dataProvider.main;
_dataProvider = new Object();
_dataProvider.main = new Array();
for(var g=0;g<_propertys.length;g++){
var v = _propertys[g];
_dataProvider[v.name] = new Array();
var mc = liveOutput.holder["data"+v.name+"Holder"];
mc.clear();
}
for(var i=0;i<10;i++){
var lMC = this["yl"+i];
lMC.removeMovieClip();
var yBlue = this["yb"+i];
var rowDivider = Math.floor(_rowHeight/2);
var bbR = Math.floor(_rowHeight/rowDivider);
var heightCount = _rowHeight;
for(var s = 0;s<bbR;s++){
var yBlue = this["yb"+i+"Sub"+s];
yBlue.removeMovieClip();
var yBlue = attachMovie("yLabHolder", "yb"+i+"Sub"+s, getNextHighestDepth());
yBlue._x = -8;
if(s == 0){
yBlue._y = (_rowHeight*i);
yBlue._height = rowDivider;
}else{
var nh = (_rowHeight-((s)*rowDivider))-2;
if(nh > rowDivider){
nh = rowDivider;
}
yBlue._height = nh;
var last = this["yb"+i+"Sub"+(s-1)];
yBlue._y = (last._y +last._height+1);
}
}
lineStyle(1, 0xBBCCDD, 100);
moveTo(-8, (_rowHeight*i));
lineTo(-16, (_rowHeight*i));
var lMC = attachMovie("scaleLabelY", "yl"+i, getNextHighestDepth());
lMC.label = (10-(i))*10;
lMC._x = -30;
lMC._y = (_rowHeight*i)-7;
}
lineStyle(1, 0xBBCCDD, 100);
moveTo(0, (_rowHeight*10)-1);
lineTo(-16, (_rowHeight*10)-1);
return td;
}
function redraw(data){
var td = bodyClear();
var tProps = _propertys;
_propertys = new Object();
for(var g=0;g<tProps.length;g++){
var v = tProps[g];
var mc = liveOutput.holder["data"+v.name+"Holder"];
mc.removeMovieClip();
addProperty(v.name,v.col);
}
_propertys = tProps;
if(data){
td = data;
}
for(var j=0;j<td.length;j++){
push(td[j]);
}
}
function setSize(width, height){
_xscale = 100;
_yscale = 100;
__width = width;
__height = height;
var rowHeight = height/10;
_rowHeight = rowHeight;
clear();
//DrawBounding
liveOutput._xscale = 100;
liveOutput._yscale = 100;
liveOutput.mask._height = height;
liveOutput.mask._width = width;
lineStyle(1, 0xEEEEEE, 100);
moveTo(0, 0);
lineTo(0, height);
lineTo(width, height);
lineTo(width, 0);
lineTo(0, 0);
//Draw Chart Y axis
for(var i=0;i<10;i++){
moveTo(0, (rowHeight*i));
lineTo(width, (rowHeight*i));
}
for(var w = 0;(w*xIncriment)<width;w++){
var nx = (w*xIncriment);
moveTo(nx, 0);
lineTo(nx, height);
}
redraw();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -