WEB开发网
开发学院图形图像Flash flash位图技术研究篇(4): flash舞台屏幕录制 阅读

flash位图技术研究篇(4): flash舞台屏幕录制

 2010-03-02 00:00:00 来源:WEB开发网   
核心提示: 然后写一个屏幕类,用于记录flash舞台的屏幕,flash位图技术研究篇(4): flash舞台屏幕录制(3),包括常见的复制位图的方法public class FScreen extends EventDispatcher;继承EventDispatcher类public function c

然后写一个屏幕类,用于记录flash舞台的屏幕,包括常见的复制位图的方法

public class FScreen extends EventDispatcher;继承EventDispatcher类

public function copyScreen(sorce:IBitmapDrawable,Width:Number,Height:Number):void

开始播放的方法

public function play():void

清除画面的办法

public function removeScreen():void

还有获取图片阵列的办法

public function getImageList():Vector.<BitmapData>

   1. package   
   2. {  
   3.     //录制flash 屏幕  
   4.     import flash.display.BitmapData;  
   5.     import flash.display.Sprite;  
   6.     import flash.geom.Rectangle;  
   7.     import flash.utils.ByteArray;  
   8.     import flash.display.IBitmapDrawable;  
   9.     import flash.events.*;  
  10.     import flash.display.GraphicsBitmapFill;  
  11.     public class FScreen extends EventDispatcher  
  12.     {  
  13.   
  14.         private var list:Vector.<BitmapData>=new Vector.<BitmapData>();//图片阵列  
  15.         private var count:int=0;  
  16.         public var contain:Sprite=new Sprite();  
  17.         private var IsOver:Boolean=true;  
  18.         public function FScreen()  
  19.         {  
  20.   
  21.   
  22.         }  
  23.   
  24.         //开始播放  
  25.         public function play():void  
  26.         {  
  27.             if (IsOver)  
  28.             {  
  29.                 IsOver=false;  
  30.                 trace("运行");  
  31.                 contain.addEventListener(Event.ENTER_FRAME,PlayHandler);  
  32.             }  
  33.         }  
  34.         private function PlayHandler(event:Event):void  
  35.         {  
  36.             trace("wwwwwww");  
  37.             if (list.length>count)  
  38.             {  
  39.                 contain.graphics.clear();  
  40.                 contain.graphics.beginBitmapFill(list[count]);  
  41.                 contain.graphics.drawRect(0, 0, list[count].width, list[count].height);  
  42.                 contain.graphics.endFill();  
  43.                 count++;  
  44.                   
  45.             }  
  46.             else  
  47.             {  
  48.                 contain.removeEventListener(Event.ENTER_FRAME,PlayHandler);  
  49.                 count=0;  
  50.                 IsOver=true;  
  51.             }  
  52.   
  53.         }  
  54.   
  55.         //结束录制  
  56.         public function stop():void  
  57.         {  
  58.             contain.removeEventListener(Event.ENTER_FRAME,PlayHandler);  
  59.             IsOver=true;  
  60.         }  
  61.   
  62.         //复制屏幕像素,宽度和高度可以指定  
  63.         public function copyScreen(sorce:IBitmapDrawable,Width:Number,Height:Number):void  
  64.         {  
  65.             var bitmapdata:BitmapData=new BitmapData(Width,Height);  
  66.             bitmapdata.draw(sorce);  
  67.             list.push(bitmapdata);  
  68.         }  
  69.   
  70.         //删除屏幕当中的数据  
  71.   
  72.         public function removeScreen():void  
  73.         {  
  74.             while (list.length>0)  
  75.             {  
  76.                 list.pop();  
  77.             }  
  78.             contain.graphics.clear();  
  79.         }  
  80.   
  81.         //获取图片阵列  
  82.         public function getImageList():Vector.<BitmapData>  
  83.         {  
  84.             return list;  
  85.   
  86.         }  
  87.   
  88.     }  
  89.   
  90. }  

上一页  1 2 3 4 5  下一页

Tags:flash 位图 技术

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接