Показать сообщение отдельно
Старый 22.03.2011, 00:36
Djuice вне форума Посмотреть профиль Отправить личное сообщение для Djuice Найти все сообщения от Djuice
  № 4  
Ответить с цитированием
Djuice
 
Аватар для Djuice

Регистрация: Dec 2010
Сообщений: 9
Цитата:
Сообщение от 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);
попробовал вот так. Теперь нормально, с альфой копирует, но по времени приблизительно также, как и мувиком. А вот теперь уж не знаю как сделать по-другому.