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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
чтобы учитывалась прозрачность, надо кешировать в битмап (.casheAsBitmap = true)
Код AS3:
var gradient:Shape = new Shape();
var matrix:Matrix = new Matrix();
matrix.createGradientBox(400, 400, Math.PI/2, 0, 0);
gradient.graphics.beginGradientFill(GradientType.LINEAR, [0x00FF00, 0x0000FF], [1, 1], [0, 255], matrix);
gradient.graphics.drawRect(0, 0, 400, 400);
gradient.cacheAsBitmap = true;
addChild(gradient);
//заполняем BitmapData
var bitmapdata:BitmapData = new BitmapData(3, 3, true, 0x000000);
bitmapdata.setPixel32(0, 1, 0xffffffff);
bitmapdata.setPixel32(1, 0, 0xffffffff);
bitmapdata.setPixel32(2, 2, 0xffffffff);
 
//заливаем им Shape, который потом будет маской
var strokeMask:Shape = new Shape();
strokeMask.graphics.beginBitmapFill(bitmapdata);
strokeMask.graphics.drawRect(0, 0, 400, 400);
strokeMask.cacheAsBitmap = true;
addChild(strokeMask);
gradient.mask = strokeMask;
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 10.01.2011 в 09:44.