Цитата:
Сообщение от wvxvw
Правила про уважительное отношение читали? Оба?
А кода не хватает не только для того, чтобы делать предположения о его происхождении, но и о том, что происходит с битмапдатой / копированием. Так что, в любом случае, нужно видеть именно то место, которое либо не работает, либо работает медленно и т.п.
|
Сейчас:
Код AS3:
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;
А вот с копипиксел:
Код AS3:
_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 минут
Код AS3:
var data:BitmapData = new BitmapData(temp_mc1.width, temp_mc1.height,true,0x00000000);
попробовал вот так. Теперь нормально, с альфой копирует, но по времени приблизительно также, как и мувиком. А вот теперь уж не знаю как сделать по-другому.