|
|
|||||
Регистрация: Dec 2010
Сообщений: 9
|
Динамический фон
Доброго времени суток! Я делаю динамический фон для игры. Рандомно на большой мувиклип "набрасываю" маленькие мувики. Рандом также и по скейлу. Потом с полученного мувика делаю битмап через битмапдату
Проблемма в том, что очень долго формирует этот фон. Пробовал набрасывать прямо на битмапдату через copyPixels, но почему-то не видит альфа-канал и альфу перебрасывает в простой белый. Какие будут предложения? |
|
|||||
Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
|
Может нужно указать правильный цвет заливки BitmapData? 0x00000000
|
|
|||||
Modus ponens
|
Правила про уважительное отношение читали? Оба?
А кода не хватает не только для того, чтобы делать предположения о его происхождении, но и о том, что происходит с битмапдатой / копированием. Так что, в любом случае, нужно видеть именно то место, которое либо не работает, либо работает медленно и т.п.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Dec 2010
Сообщений: 9
|
Цитата:
var _data_fon3:BitmapData = new BitmapData(Rozmirnist_game.x * Size_of_tile, Rozmirnist_game.y * Size_of_tile); //Мувик fon1 = new MovieClip(); fon1.graphics.beginFill(0x6F4F29, 1); fon1.graphics.drawRect(0, 0, point.x, point.y); fon1.graphics.endFill(); //Рандом var temp_mc1:MovieClip; var Rand_1:Number; var Rand_3:Number; var Rand_4:Number; for (var i:int = 0; i < iteracii; i++) { for (var j:int = 0; j < For_fon1.length; j++) { temp_mc1 = new For_fon1[j]() as MovieClip; Rand_1 = Math.random(); Rand_3 = Math.random(); Rand_4 = Math.random(); temp_mc1.scaleX = temp_mc1.scaleY = 0.8 + Rand_1; temp_mc1.x = point.x * Rand_3; temp_mc1.y = point.y * Rand_4; fon1.addChild(temp_mc1); } } _data_fon3.draw(fon1);//битмапдата с мувика fon_bitmap.bitmapData = _data_fon3; fon1 = null; _data_fon3 = new BitmapData(St.Rozmirnist_game.x * St.Size_of_tile, St.Rozmirnist_game.y * St.Size_of_tile , false, 0x6F4F29); //Рандом var temp_mc1:MovieClip; var Rand_1:Number; var Rand_3:Number; var Rand_4:Number; for (var i:int = 0; i < iteracii; i++) { for (var j:int = 0; j < For_fon1.length; j++) { temp_mc1 = new example() as MovieClip; Rand_1 = Math.random(); Rand_3 = Math.random();//alfa Rand_4 = Math.random();//X temp_mc1.scaleX = temp_mc1.scaleY = 0.5 + Rand_1; var data:BitmapData = new BitmapData(temp_mc1.width, temp_mc1.height); data.draw(temp_mc1); var pp:Point = new Point((int)(point.x * Rand_3), (int)(point.y * Rand_4)); _data_fon3.copyPixels(data, data.rect, pp,data,new Point(0,0),true); } } fon_bitmap.bitmapData = _data_fon3; Добавлено через 12 минут попробовал вот так. Теперь нормально, с альфой копирует, но по времени приблизительно также, как и мувиком. А вот теперь уж не знаю как сделать по-другому. |
Часовой пояс GMT +4, время: 07:29. |
|
« Предыдущая тема | Следующая тема » |
Теги |
bitmap , bitmapdata , BitmapData.draw , Динамический фон |
|
|