Frage

Ich habe eine Flex-Anwendung, und ich möchte eine neue benutzerdefinierte Komponente mit Action Script zur Laufzeit hinzuzufügen. Dies funktioniert gut. Ich habe meine eigene Komponente und hinzugefügt, um den folgenden Code erstellt:

var freeView:FreeView=new FreeView();
freeView.setStyle("showEffect",this.fadeIn);
freeView.setStyle("hideEffect",this.fadeOut);
freeView.visible=false;
this.addChild(freeView);
freeView.visible=true;

Aber mein Problem ist das verblassen in effecto funktioniert nicht. Ich weiß, ich habe die Wirkung richtig erklärt, weil, wenn ich es in einer anderen Komponente verwenden (wie eine Platte) es funktioniert gut. Kann jemand mir mit diesem Problem helfen? Mit freundlichen Grüßen!

War es hilfreich?

Lösung 2

Schließlich löse ich das Problem auf eine andere Weise. Stattdessen Hinzufügen der Komponente zur Laufzeit habe ich die Komponente für die Anwendung mit sichtbaren Eigenschaft auf false gesetzt hinzugefügt und ich es auf true ändern, wenn ich brauche.

Andere Tipps

Stellen Sie sicher, dass Sie alle überschriebenen anrufen Flex Super-Funktionen in Ihrer DVB-T-Unterklasse.

Besonders update und commitProperties:

override protected function updateDisplayList(w:Number, h:Number)
{
    super.updateDisplayList(w, h);

    // Your code here.
}


override protected function commitProperties()
{
    super.commitProperties();

    // Your code here.
}

Überschreiben Sie eine der High-Level-Container-Klassen (z Leinwand oder HBox) oder UIComponent?

Sie können es in die andere Richtung tun um durch Effekte Ziel auf Ihr neues Element Einstellung

<mx:Fade id="showFlag" alphaFrom="0" alphaTo="1" duration="5000"/>

var flag:Image = new Image;
flag.source = flagSource;

something.addElement(flag);

showFlag.target = flag;
showFlag.play();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top