Показать сообщение отдельно
Старый 16.11.2006, 13:27
n0wa вне форума Посмотреть профиль Отправить личное сообщение для n0wa Найти все сообщения от n0wa
  № 10  
Ответить с цитированием
n0wa

Регистрация: Oct 2006
Сообщений: 13
Кстати. Может кто нибудь подскажет, что будет быстрее,
floodFill или get\setPixel в цикле если точно известно сколько пикелей будет заполнено.

З.Ы. это маленьки ап такой )

Одно из возможных решений проблемы в лоб. Не самое лучшее думается.

Код:
function CreatePlayer(posx,posy,hands,legs,torso,weapon,pos,sit,sex)
{
var mc:MovieClip = createEmptyMovieClip(mc, this.getNextHighestDepth());
var bit:BitmapData = new BitmapData(32, 40, false, 0x000000);
var tbit:BitmapData = new BitmapData(32, 40, true, 0x000000);

var up:Number = 0;
if(pos >= 8)
	return 0;
if(sit){
	sit = 1;up = 3}
if(sex)
	sex  = 1;

if(pos < 4)
	bit.copyPixels(hands,new Rectangle(32*pos,0,32,40),new Point(0,up));
else
	bit.copyPixels(hands,new Rectangle(256 + 32*pos,0,32,40),new Point(0,up));

bit.copyPixels(torso,new Rectangle(32*pos + 256*sex,0,32,40),new Point(0,up));

bit.copyPixels(legs,new Rectangle(32*pos + 256*sit,0,32,40),new Point(0,0));

if(pos >= 4)
	bit.copyPixels(hands,new Rectangle(32*pos,0,32,40),new Point(0,up));
else
	bit.copyPixels(hands,new Rectangle(256+32*pos,0,32,40),new Point(0,up));


tbit.copyPixels(bit,new Rectangle(0,0,32,40),new Point(0,0),bit,new Point(0,0),true);

bit.dispose();
delete tbit;

for(var i = 0;i < 32; i++)
	for(var j = 0; j < 40; j++)
		if(!tbit.getPixel(i, j))
			tbit.setPixel32(i,j,0x00000000);

mc.attachBitmap(tbit,10,"auto",true);
return mc; 
}


Последний раз редактировалось n0wa; 16.11.2006 в 13:43.