dissolvenza in apertura di aggiunto componente con Actionscript
-
21-08-2019 - |
Domanda
Ciao quando ho aggiunto un nuovo componente con Actionscript voglio dissolvenza senza problemi, per esempio questo componente
var df : DateField = new DateField();
df.text = DateField.dateToString(new Date(),stringFormat);
df.formatString = stringFormat;
Ho provato questo
var fade : Fade = new Fade();
df.setStyle("showEffect", fade);
ma che non ha funzionato.
tutte le idee?=)
Grazie in anticipo
Sebastian
Soluzione
Il showEffect viene attivata solo quando si modifica l' .proprietà visible del componente è necessario attivare da qualche parte che per vivere la suggestione di dissolvenza.
Ho buttato questo insieme reale veloce, così si può vedere quello che voglio dire (anche da notare che ho usato una stringa per definire la dissolvenza, piuttosto che un oggetto - sembra sempre più facile in questo modo...spero che aiuta!)
<?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>
Altri suggerimenti
Va sottolineato che Adobe librerie di interpolazione e l'ordinamento sono molto lenti.Vorrei suggerire GTween (ancora in versione beta, ma non ho avuto problemi), TweenLite/Max (possono avere alcuni problemi di licenza), o Tweener (Facile da usare, ma molto più lento rispetto agli altri due), impostando l'alpha a 0 e poi dissolvenza in a 1.Non è così facile, ma queste librerie fornire prestazioni molto meglio.