desvanecer-se em de componente adicionado com Actionscript
-
21-08-2019 - |
Pergunta
Oi quando eu adicionar um novo componente usando Actionscript eu quero que ele fade in sem problemas, por exemplo, este componente
var df : DateField = new DateField();
df.text = DateField.dateToString(new Date(),stringFormat);
df.formatString = stringFormat;
Eu tentei este
var fade : Fade = new Fade();
df.setStyle("showEffect", fade);
mas isso não funcionou.
todas as idéias? =)
Agradecemos antecipadamente
Sebastian
Solução
O showEffect só é acionado quando você alterar a propriedade .Visible do componente - você precisa gatilho que um lugar para experimentar a grandiosidade do fade
.Eu joguei isso juntos bem rápido para que você possa ver o que eu quero dizer (também notar que eu usei uma string para definir o fade em vez de um objeto - ele sempre parece mais fácil dessa maneira ... espero que ajude)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.controls.DateField;
private function init():void{
var df:DateField = new DateField();
df.visible = false;
df.setStyle("showEffect","Fade");
this.addChild(df);
df.addEventListener(FlexEvent.CREATION_COMPLETE,triggerFade);
}
private function triggerFade(event:FlexEvent):void{
var df:DateField = event.currentTarget as DateField;
df.visible = true;
}
]]>
</mx:Script>
</mx:Application>
Outras dicas
Deve-se salientar que as bibliotecas interpolação da Adobe eo tipo são muito lento. Eu sugeriria GTween (ainda em beta, mas eu não tive qualquer problema), TweenLite / Max (pode ter alguns problemas de licenciamento), ou Tweener (fácil de usar, mas muito mais lento do que os outros dois), definindo a alfa para 0 e, em seguida, em desvanecimento para 1. Não é tão fácil, mas essas bibliotecas proporcionam um desempenho muito melhor.