Показать сообщение отдельно
Старый 22.10.2013, 11:32
ndiezel вне форума Посмотреть профиль Отправить личное сообщение для ndiezel Посетить домашнюю страницу ndiezel Найти все сообщения от ndiezel
  № 5  
Ответить с цитированием
ndiezel
 
Аватар для ndiezel

Регистрация: Mar 2009
Адрес: Из города на Ингуле
Сообщений: 116
Отправить сообщение для ndiezel с помощью ICQ
Tails, боюсь способ, описанный вами - не подойдёт - я ничего не загружаю (или я чего-то не понял).

Вот функция:
Код AS3:
		private function createTextures(m:MovieClip):void
		{
			var bm:MovieClip;
			// заполняем первый этаж "мусором"
			for (var i:int = 1; i < 300; i++)
			{
				bm = new bgSpot01;
				place(bm,"bg");
				m.addChild(bm);
 
				bm = new bgSpot02;
				place(bm,"bg");
				m.addChild(bm);
			}
			var v:int;
			for (i = 1; i < 800; i++)
			{
				v = 1+Math.random()*4;
				if(v==1)
				{
					bm = new bgStone01;
				}
				if(v==2)
				{
					bm = new bgStone02;
				}
				if(v==3)
				{
					bm = new bgStone03;
				}
				if(v==4)
				{
					bm = new bgStone04;
				}
				place(bm,"stone");
				m.addChild(bm);
			}
 
			for (i = 1; i < 50; i++)
			{
				v = 1+Math.random()*3;
				if(v==1)
				{
					bm = new bgGrass01;
				}
				if(v==2)
				{
					bm = new bgGrass02;
				}
				place(bm,"grass");
				m.addChild(bm);
			}
 
			var bmpd:BitmapData = new BitmapData(Gbv.SCR_W,Gbv.SCR_H,true,0);
			bmpd.fillRect(bmpd.rect,0);
			bmpd.draw(m,new Matrix(1,0,0,1,m.x,m.y));
			var bmm:Bitmap = new Bitmap(bmpd);
			while (m.numChildren)
			{
				m.removeChildAt(0);
			}
			m.addChild(bmm);
		}
Функция place с каждым мувиком - это ещё дополнительные команды: растягивание мувика, прозрачность, расположение.
Т.е. просто одновременно на экран добавляется где-то около 2000 мувиков, которые ещё к тому же и нарисованы в векторе. Это ресурсоёмко. Это и хочу как-то разбить, распределить нагрузку так, чтоб можно было в это время, хотя бы, крутить колёсико "загрузки".