我有一个Flex应用程序,我想在运行时添加与动作脚本一个新的自定义组件。 这工作得很好。我已经建立了我的定制组件,并添加以下代码:

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

但我的问题是效:淡入淡出无法正常工作。我知道我已经正确声明的影响,因为如果我在其他组件中使用它(如面板),它工作正常。 任何人都可以帮我这个问题? 祝商祺!

有帮助吗?

解决方案 2

最后,我解决问题以不同的方式。 而不是添加在运行时组件我添加的组件与Visible属性的应用程序设置为false,我将其更改为真时,我需要。

其他提示

请确保您调用任何重写的Flex超功能的Freeview频道的子类。

特别的updateDisplayList和的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.
}

您重写高级别容器类(例如帆布或HBox中)或UIComponent?之一

您可以通过影响目标设置到新的元素做它周围的其他方法

<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();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top