2011-07-18 33 views
1

我正在使用Flex4。我想在我的項目中獲得一些動畫效果。獲取Flex效果的問題:從Flex3移植到Flex4

我使用<s:Wipe>但這不起作用,但是使用相同類型的代碼,<mx:WipeLeft>工作。 但是我不想使用<mx>代碼,如果其更通用的spark代碼在Flex4中可用的話。

我的兩個類型代碼爲:

MX代碼 - (工作代碼)

<mx:WipeLeft id="wLeft" duration="1500" target="{imgSinglePage}"/> 

星火代碼 - (不工作)

<s:Wipe id="wLeft" duration="1500" direction="left" target="{imgSinglePage}"/> 

回答

0

有沒有在你的聲明造成你的問題的效果本身。由於您沒有包含實際的調用代碼,因此我只能猜測您正在嘗試使用效果觸發器(例如rollOverEffect="wLeft")來執行Spark效果。

只能通過調用它們的play()方法來調用Spark效果。所以你的情況,你會相關的組件上使用

... rollOver="wLeft.end();wLeft.play();" ...

這是official Adobe description

這是一個discussion on SO的同樣的問題。

0

效果可以使用Flex 4的狀態系統進行轉換,也可以由組件中的事件觸發。

聲明方式指定:

 
    <!--- Fade effects for showing/hiding elements --> 
    <fx:Declarations> 
     <s:Parallel id="fadeInEffect"> 
      <s:Fade alphaFrom="0" 
        alphaTo="1" /> 
     </s:Parallel> 
     <s:Parallel id="fadeOutEffect"> 
      <s:Fade alphaFrom="1" 
        alphaTo="0" /> 
     </s:Parallel> 
    </fx:Declarations> 


    <!-- Image --> 
    <s:Image showEffect="{fadeInEffect}" 
      hideEffect="{fadeOutEffect}" /> 

如果這不回答你的問題,請提供使用你已經提到的效果代碼。