📄 cardiogram.as
字号:
class cardiogram extends MovieClip
{
private var total_heigth:Number //总高
private var total_width:Number //总宽
private var base_height:Number;//起始高度
private var pervoltage_heigth:Number //多高代表一单位电压值
private var max_voltage:Number //最大电压值
private var pp_width:Number //点和点之间间隔多宽
private var base_width:Number //起始宽度
private var points_perscreen:Number //一屏共显示多少个点
private var refurbish_speed:Number //刷新速率
private var aspect:Number //方向(左或者右)
private var line_color:Number //线的颜色
private var line_thickness:Number //线的粗细
private var allDate:Array
private var pID:Number
private var p_head:Number ;
private var p_end:Number ;
private var pointer_start:Number;
private var pointer_end:Number;
private var runFlag:Boolean;
private var splitStr:String;
private var theBg:MovieClip;
public function cardiogram()
{
total_heigth = 295
total_width = 500
base_height = 20 ;
pervoltage_heigth = 1 ;
max_voltage = 255
pp_width = 20 ;
base_width = 0
points_perscreen = 45 ;
refurbish_speed = 3000 ;
aspect = 1 ;
line_color = 0x99FF00
line_thickness = 1 ;
pID = 0;
p_head = 0;
p_end = 0 ;
pointer_start = 0 ;
pointer_end = 0;
runFlag = true;
splitStr = " "
this.clear();
theBg._visible=false;
}
public function setTheDate( d:String )
{
this.cardiogram();
allDate = d.split( splitStr )
}
public function gotoStart()
{
pID = setInterval( this , "drawIt" , 1000 );
}
public function gotoStop()
{
clearInterval( pID )
}
private function drawIt()
{
var temp_pointer_start:Number;
if( !runFlag )
{
return ;
}
if( pointer_end >= ( points_perscreen - 1 ) )
{
gotoStop();
}
drawIt_b();
temp_pointer_start = pointer_start ;
if( pointer_start < ( points_perscreen - 1 ) )
{
pointer_start++ ;
}
if( p_end == ( allDate.length - 1 ) )
{
pointer_end++ ;
}
if( p_end < ( allDate.length - 1 ) )
{
p_end++ ;
}
if( temp_pointer_start == ( points_perscreen - 1 ) && p_head < ( allDate.length - 1 ) )
{
p_head++
}
}
private function drawIt_b()
{
this.clear();
var i:Number;
var s:String;
this.lineStyle( line_thickness , line_color , 100 );
var firstFlag:Boolean;
firstFlag = true;
s = "" ;
for( i = p_end ; i >= p_head ; i-- )
{
s += allDate[ i ] + ","
}
s += "----" + pointer_end + "||||" + pointer_start ;
// trace( s )
for( i = pointer_end ; i <= pointer_start ; i++ )
{
var n:Number;
n = Number( allDate[ p_end - i ] );
var theX = base_width + ( i * pp_width )
var theY = total_heigth - ( base_height + ( n * pervoltage_heigth ) )
// trace( theX + " " + theY )
if( firstFlag )
{
this.moveTo( theX , theY )
}
else
{
this.lineTo( theX , theY );
}
firstFlag = false ;
}
//trace("-------------------------------")
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -