簡體   English   中英

向Flex自定義組件添加效果

[英]Adding effects to a flex custom component

我有一個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;

但是我的問題是效果的淡入無法正常工作。 我知道我已經正確聲明了效果,因為如果在其他組件(如面板)中使用它,效果很好。 有人可以幫我解決這個問題嗎? 最好的祝福!

請確保您調用任何重寫的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的一個?

最后,我以另一種方式解決了這個問題。 取而代之的是在運行時添加組件,我將組件的可見屬性設置為false,並在需要時將其更改為true。

您可以通過將效果目標設置為新元素來進行其他操作

<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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM