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

Регистрация: Feb 2013
Сообщений: 9
Спасибо помогло, чтобы не плодить темы спрошу тут.

Вот у меня есть текст с обводкой.

Код AS3:
var def_text:TextField = new TextField();
var glow:GlowFilter = new GlowFilter(); 
glow.color = 0xffffff; 
glow.alpha = 1; 
glow.blurX = 4; 
glow.blurY = 4;
glow.inner = true;
def_text.text = 'lalala';
def_text.filters = [glow]; //106 строка
pole.addChild(def_text);
Я хочу сделать его с заливкой градиента.

Код AS3:
var type:String = GradientType.RADIAL; 
var colors:Array = [0x00FF00, 0x000088]; 
var alphas:Array = [1, 1]; 
var ratios:Array = [0, 255]; 
var spreadMethod:String = SpreadMethod.PAD; 
var interp:String = InterpolationMethod.LINEAR_RGB; 
var focalPtRatio:Number = 0; 
 
var matrix:Matrix = new Matrix(); 
var boxWidth:Number = 50; 
var boxHeight:Number = 100; 
var boxRotation:Number = Math.PI/2; // 90° 
var tx:Number = 25; 
var ty:Number = 0; 
matrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty); 
 
var square:Shape = new Shape; 
square.graphics.beginGradientFill(type,  
colors, 
alphas, 
ratios,  
matrix,  
spreadMethod,  
interp,  
focalPtRatio); 
square.graphics.drawRect(0, 0, 100, 100);
Код рабочий с примеров Adobe.

По логике вещей я должен "квадрату" square задать маску -> мой текст.
тобиш square.mask = def_text;, но тк mask просит тип DisplayObject, наверное надо текст засунуть хотябы в MovieClip, тоесть вот так
Код AS3:
var mc2:MovieClip = new MovieClip();
mc2.addChild(def_text);
square.mask = mc2;
pole.addChild(square);
Но не смотря на всю логику - такое решение не работает >_<
Помогите

PS дополните название темы до "Текстовые фильтры GlowFilter LinearGradient"


Последний раз редактировалось m3hc; 04.03.2013 в 13:12. Причина: дописал PS