Показать сообщение отдельно
Старый 15.11.2007, 16:13
VovkaMorkovka вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka Найти все сообщения от VovkaMorkovka
  № 1  
VovkaMorkovka

Регистрация: Apr 2006
Сообщений: 421
По умолчанию Error #2015: Invalid BitmapData как побороть?

Здраствуйте господа!
Проблема такая: я заполняю мувиклитами карту разбитую на клетки. Каждый мувиклип - одна клетка. Делаю я это так: в пустой мувиклип аттачу битмапу. Какую именно зависит от входных условий, но для теста аттачу одну и ту - же.
Карта большая - 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);
			}
		}
Вот, но как побороть это я не знаю


Заранне благодарен,
Владимир


Последний раз редактировалось VovkaMorkovka; 15.11.2007 в 17:39.