AS3 :: Alpha num TextField
Não é facil aplicar a propriedade "alpha" numa caixa de texto...para isso é necessário incluir (embed) a font que queremos utilizar.
INCLUIR UMA FONT NA LIBRARIA:
1. Botão do lado direito do rato e escolher "New Font..."
2. Escolher a fonte e dar-lhe um nome
--- Essa fonte fica com um icon "A" na nossa libraria
Vamos disponibilizala para uso no AS
3. Botlao do lado direito do rato por cima do "A" da libraria e escolher "Linkage..."
4. Seleccionar "Export for ActionScript" e dar um nome na class (no exemplo dei "font1")
5. Confirmar com "OK" e temos a nossa font incluida na libraria e pronta para ser chamada por ActionScript!!
Agora podemos utilizar a nossa fonte incluida na libraria para criar as caixas de texto e aplicar o efeito alpha.
Para isso escrevi uma função (pode ser utilizada numa class) que coloca facilmente no stage uma caixa de texto com um texto qualquer, num tamanho qualquer e com uma cor qualquer.
Código:
function txtToStage(nome,texto,xx,yy,cor,size,opac,pos):void {
var myFont:Font = new font1();
var txtFormat:TextFormat = new TextFormat();
txtFormat.font = myFont.fontName;
txtFormat.size = size;
nome.autoSize = TextFieldAutoSize.LEFT;
nome.embedFonts = true;
nome.antiAliasType = AntiAliasType.ADVANCED;
nome.defaultTextFormat = txtFormat;
nome.text = texto;
if (xx=="centro") {
nome.x = stage.stageWidth/2-nome.width/2;
} else {
nome.x = xx;
}
nome.y = yy;
nome.alpha=opac;
nome.textColor=cor;
addChildAt(nome,pos);
}
function txtToStage(nome,texto,xx,yy,cor,size,opac,pos):void
nome = Nome da caixa de texto que queremos criar
texto = Texto que queremos incluir
xx = Posição X no stage
yy = Posição Y no stage
cor = Cor (Ex: 0x00FF00)
size = Tamanho da font (10)
opac = Alpha (de 0 a 1)
pos = Posição no stage (ordem de apresentação das instancias)
EX:
txtToStage(nome1,"Meu texto","centro",stage.stageHeight/2,0x003366,10,1,2);
Se repararem, no lugar do argumento "xx" está o valor "centro" que foi definido na funçãi que iria centrar horizontalmente ao Stage. Tive necessidade de escrever assim pois o tamanho da caixa de texto depende do texto que enviamos, logo não podemos definir logo à partida qual vai ser o seu comprimento.
stage.stageHeight/2 = Alinha verticalmente com o stage
0x003366 = cor do texto
10 = Tamanho do texto
1 = Opacodade (alpha)
2 = 3ª instancia do site (Sendo 0 para o backGround, 1 para o logotipo)
Os entendidos sintam-se à vontade para modificar o código desde que para melhorar ou evoluir...acredito que pode ser feito de outras formas mas esta foi a que eu encontrei.
Fazer um fadeIn a um texto:
txtToStage(nome1,"Meu FadeIn","centro",stage.stageHeight/2,0x003366,10,0,0);
Tweener.addTween(nome1, {y:stage.stageHeight/2+25, alpha:1, time:0.8, transition:"easeOutCirc", delay:1.5});
ATENÇÃO: Tweener.addTween e a class que eu uso para fazer os Tweens em AS3 e não vem por defeito no Flash CS9!!
Espero ter ajudado!!