public static function quickLine(bmp:BitmapData,x0:int,y0:int,x1:int,y1:int,c:Number):void{ var i:int; var xinc:int; var yinc:int; var cumul:int; var x:int = x0; var y:int = y0; var dx:int= x1 - x0; var dy:int= y1 - y0; xinc = ( dx > 0 ) ? 1 : -1; yinc = ( dy > 0 ) ? 1 : -1; dx = (dx ^ (dx >> 31)) - (dx >> 31); //Math.abs dy = (dy ^ (dy >> 31)) - (dy >> 31); bmp.setPixel32(x,y,c);//Test for a straight vertical line if(dx==0){ for ( i = 1 ; i <= dy ; i++ ){ y += yinc; bmp.setPixel32(x,y,c); } return; } if(dy==0){ for ( i = 1 ; i <= dx ; i++ ){ x += xinc ; bmp.setPixel32(x,y,c); } return; } if ( dx > dy ){ cumul = dx >> 1; for ( i = 1 ; i <= dx ; i++ ){ x += xinc; cumul += dy; if (cumul >= dx){ cumul -= dx; y += yinc; } bmp.setPixel32(x,y,c); } }else{ cumul = dy >> 1; for ( i = 1 ; i <= dy ; i++ ){ y += yinc; cumul += dx; if ( cumul >= dy ){ cumul -= dy; x += xinc ; } bmp.setPixel32(x,y,c); } }}
Powered by: newtelligence dasBlog 1.9.6264.0
Disclaimer The opinions expressed herein are our personal opinions and do not represent our customer's view in anyway.
© Copyright 2009, gaming your way
E-mail