在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;
- }