VovkaMorkovka
15.11.2007, 16:13
Здраствуйте господа!
Проблема такая: я заполняю мувиклитами карту разбитую на клетки. Каждый мувиклип - одна клетка. Делаю я это так: в пустой мувиклип аттачу битмапу. Какую именно зависит от входных условий, но для теста аттачу одну и ту - же.
Карта большая - 100x100 клеток, соответственно имеем 10000 мувиклипов
Я поборол ошибку максимального исполнения скрипта с помощью таймера. Но, к определенному моменту вылетает такая ошибка
Error #2015: Invalid BitmapData
Я тут пошарился в инете и нашел в форуме такой вопрос и ответ
Вопрос
I tried to get a bitmap copy of the Application..No problem.
But when I try to get the bitmapdata from a canvas within the
Application it's giving me an error.
// I'm using this
var data : BitmapData = new BitmapData(target.width, target.height,
true, 0);
data.draw(target);
//This is the error?!! with target =
Application.application.content_canvas
Error #2015: Invalid BitmapData.
Ответ
This might be because your Canvas component isn't initialised yet. i.e.
check what width and height properties are assigned to the Canvas.
What's the container of it?
Best,
Alex
А вот код в котором возникает ошибка
protected override function attachBitMap(nameOfBitM:String):void{
var debugInfo:String="nameOfBitM:"+nameOfBitM+"\n"
try{
var bitmapData:BitmapData;//=new t1_1(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
debugInfo+="\nbitmap data start";
switch(nameOfBitM){
case "t1_1":
bitmapData=new t1_1(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
break;
......... case "t3_19":
bitmapData=new t3_19(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
break;
default:
bitmapData=new t1_11(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
}
debugInfo+="\n bitmapdata is created";
var bitm:Bitmap=new Bitmap(bitmapData);
debugInfo+="\n bitmap is created";
this.addChild(bitm);
debugInfo+="\n this.addChild(bitm);";
}catch(e:Error){
trace(e.message+"\nnameOfBitM:"+nameOfBitM+" error"+debugInfo);
}
}
Вот, но как побороть это я не знаю
Заранне благодарен,
Владимир
Проблема такая: я заполняю мувиклитами карту разбитую на клетки. Каждый мувиклип - одна клетка. Делаю я это так: в пустой мувиклип аттачу битмапу. Какую именно зависит от входных условий, но для теста аттачу одну и ту - же.
Карта большая - 100x100 клеток, соответственно имеем 10000 мувиклипов
Я поборол ошибку максимального исполнения скрипта с помощью таймера. Но, к определенному моменту вылетает такая ошибка
Error #2015: Invalid BitmapData
Я тут пошарился в инете и нашел в форуме такой вопрос и ответ
Вопрос
I tried to get a bitmap copy of the Application..No problem.
But when I try to get the bitmapdata from a canvas within the
Application it's giving me an error.
// I'm using this
var data : BitmapData = new BitmapData(target.width, target.height,
true, 0);
data.draw(target);
//This is the error?!! with target =
Application.application.content_canvas
Error #2015: Invalid BitmapData.
Ответ
This might be because your Canvas component isn't initialised yet. i.e.
check what width and height properties are assigned to the Canvas.
What's the container of it?
Best,
Alex
А вот код в котором возникает ошибка
protected override function attachBitMap(nameOfBitM:String):void{
var debugInfo:String="nameOfBitM:"+nameOfBitM+"\n"
try{
var bitmapData:BitmapData;//=new t1_1(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
debugInfo+="\nbitmap data start";
switch(nameOfBitM){
case "t1_1":
bitmapData=new t1_1(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
break;
......... case "t3_19":
bitmapData=new t3_19(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
break;
default:
bitmapData=new t1_11(SetParameters.CELL_WIDTH,SetParameters.CELL_HEIGHT);
}
debugInfo+="\n bitmapdata is created";
var bitm:Bitmap=new Bitmap(bitmapData);
debugInfo+="\n bitmap is created";
this.addChild(bitm);
debugInfo+="\n this.addChild(bitm);";
}catch(e:Error){
trace(e.message+"\nnameOfBitM:"+nameOfBitM+" error"+debugInfo);
}
}
Вот, но как побороть это я не знаю
Заранне благодарен,
Владимир