PDA

Просмотр полной версии : Текстурирование текста(TextAnim,SplitTextField)


kaliban92
14.06.2013, 12:08
Привет всем.

Подскажите, есть текст(классический, динамический) его нужно текстурировать, а потом, уже текстурированный анимировать.


Я делаю так.





import flupie.textanim.*;
import caurina.transitions.*;



var pattern:Bitmap = new Bitmap(new MyBitmapData(0, 0));
var tanim:TextAnim =new TextAnim(label); //, {effects:myEffect, mode:"centerToEdges"}

TextAnimTools.setPattern(tanim, pattern, true); //патерн - текстура
tanim.start();

// так текстурировать получается, но код ниже, перестает работать, хотя без кода выше работает.

// я так понимаю, нужно преобразовать экземпляр tamin в текст, вот только не знаю как это сделать, и
//вообще возможно ли это

// Есть ли в флеш стандартное средство ( без подключения сторонних либ ) для текстурирования текста ?







// это собственно эффект. который должен происходить с текстом.

var stf:SplitTextField=new SplitTextField(label);


for (var i:int = stf.textFields.length - 1; i > -1; i--)
{
TweenMax.to(stf.textFields[i], 2, {blurFilter:{blurX:10, blurY:10}, x:Math.random() * 650 - 100, y:Math.random() * 350 - 100, scaleX:Math.random() * 4 - 2, scaleY:Math.random() * 4 - 2, rotation:Math.random() * 360 - 180, autoAlpha:0, delay:Math.random() * 0.5, ease:Quad.easeInOut, repeat:1, yoyo:true, repeatDelay:1.2});
}






P.s класс SplitTextField есть.


P.p.s И еще, как откорректировать код ниже, что бы он работал в as2 проекте ? В таком виде, выдает кучу ошибок.

CODE


import com.greensock.TweenMax;
import com.greensock.text.SplitTextField;
import com.greensock.easing.*;

var stf:SplitTextField=new SplitTextField(text_tf);

for (var i:int = stf.textFields.length - 1; i > -1; i--)
{
TweenMax.to(stf.textFields[i], 2, {blurFilter:{blurX:10, blurY:10}, x:Math.random() * 650 - 100, y:Math.random() * 350 - 100, scaleX:Math.random() * 4 - 2, scaleY:Math.random() * 4 - 2, rotation:Math.random() * 360 - 180, autoAlpha:0, delay:Math.random() * 0.5, ease:Quad.easeInOut, repeat:1, yoyo:true, repeatDelay:1.2});
}



Я так понимаю, в as2 нельзя создавать экземпляры классов, как в as2 использовать стороннюю библиотеку ?

Заранее большое спасибо за любой совет =)

Ёлочка
14.06.2013, 16:15
Есть ли в флеш стандартное средство ( без подключения сторонних либ ) для текстурирования текста ?Текстурировать без всяких библиотек можно так:
var tf:TextField = new TextField();
tf.mouseEnabled = false;
tf.width = 550;
tf.height = 100;
tf.text = "Hello, World!";
tf.setTextFormat( new TextFormat( "Arial", 80, 0x000000, true, null, null, null, null, TextAlign.CENTER ) );

var textureTile:Shape = new Shape();
textureTile.graphics.beginBitmapFill( new MyBitmapData(), new Matrix( 0.1, 0, 0, 0.1, 0, 0 ) );
var border:Number = 5;
textureTile.graphics.drawRect( border, border, tf.width - border * 2, tf.height - border * 2 );

var texturedTextField:Sprite = new Sprite();
texturedTextField.blendMode = BlendMode.LAYER;
tf.blendMode = BlendMode.ALPHA;
texturedTextField.addChild( textureTile );
texturedTextField.addChild( tf );
this.addChild( texturedTextField );

TexturedTextField

kaliban92
14.06.2013, 16:24
Спасибо огромное, хоть кто то ответил =) . Вроде то что нужно.