Flex ArgumentError: Error #2015: 无效的 Bit地图Data

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.类加载

   [Embed(source="img/plane1BD.png")]
   public class plane1BD extends BitmapData
 

 

2.对象加载

   [Bindable] [Embed(source="assets/bug_add.png")]
   private var BugAddIcon:Class;

 3.loader方法加载

var loader:Loader = new Loader();
var request:URLRequest = new URLRequest(url);
loader.x = size * numChildren;
loader.load(request);

var image:Bitmap = Bitmap(loader.content);

var duplicate:Bitmap = duplicateImage(image);
var bitmapData:BitmapData = duplicate.bitmapData;


private function duplicateImage(original:Bitmap):Bitmap {
            var image:Bitmap = new Bitmap(original.bitmapData.clone());
            image.x = size * numChildren;
            addChild(image);
            return image;
}