Flex ArgumentError: Error #2015: 无效的 BitmapData

在as3中调试bitmap调用bitmapdata对象的时候可能由于很多原因调试时出现“#2015 无效的BitmapData字样。”

但强制运行后重新刷新页面会显示出来


目前知道的原因:



1.分析后发现和BitmapData的具体尺寸有关

如_bitmap=new BitmapData(stage.stageWidth,stage.stageHeight,false,0xff0000)

可将尺寸部分写为具体数值或提前定义好变量,即可排除此错误


2.ArgumentError: Error #2015: 无效的 BitmapData。

this.ememyBD = new Bitmap(new enemy1BD(1, 1));
//报错,原因new enemy1BD(0, 0)

3.当循环加载的bitmapData太多时也会报该错误,原因是内存溢出

 

 

 

 

 

附:BitmapData加载图片的方法:

1.类加载

Java代码  收藏代码
  1. [Embed(source="img/plane1BD.png")]  
  2. public class plane1BD extends BitmapData  

 

 

2.对象加载

Java代码  收藏代码
  1. [Bindable] [Embed(source="assets/bug_add.png")]  
  2. private var BugAddIcon:Class;  

 3.loader方法加载

Java代码  收藏代码
  1. var loader:Loader = new Loader();  
  2. var request:URLRequest = new URLRequest(url);  
  3. loader.x = size * numChildren;  
  4. loader.load(request);  
  5.   
  6. var image:Bitmap = Bitmap(loader.content);  
  7.   
  8. var duplicate:Bitmap = duplicateImage(image);  
  9. var bitmapData:BitmapData = duplicate.bitmapData;  
  10.   
  11.   
  12. private function duplicateImage(original:Bitmap):Bitmap {  
  13.             var image:Bitmap = new Bitmap(original.bitmapData.clone());  
  14.             image.x = size * numChildren;  
  15.             addChild(image);  
  16.             return image;  
  17. }  
posted @ 2011-12-06 09:08  lovecd  阅读(1389)  评论(0编辑  收藏  举报