2010-09-16 41 views
0

當我建立一個複合動畫,我想作爲父的級分,以指定的組件,象這樣:我可以將效果持續時間設置爲其父項的持續時間百分比嗎?

<s:Sequence id="example" duration="2000"> 
    <s:Fade alphaFrom="0" alphaTo="1" duration="10%"/> <!-- not legal --> 
    <s:Scale scaleXTo="2" scaleYTo="2"/> 
    <s:Fade alphaFrom="1" alphaTo="0" duration="10%"/> 
</s:Sequence> 

做不到這一點,我使用表達式像這樣:

<s:Sequence id="example" duration="{slideTime}"> 
    <s:Fade alphaFrom="0" alphaTo="1" duration="{slideTime * .1}"/> 
    <s:Scale scaleXTo="2" scaleYTo="2" duration="{slideTime * .9}"/> 
    <s:Fade alphaFrom="1" alphaTo="0" duration="{slideTime * .1}"/> 
</s:Sequence> 

有沒有更具說明性的方法來完成這個?例如,在後一種情況下,我是否至少可以用直接引用父項持續時間來替換變量slideTime?

謝謝。

回答

1

在後者的情況下,例如,可以 我至少一個直接引用 父持續時間替換可變 slideTime?

這是否工作/解決呢?:

<s:Sequence id="example" duration="500"> 
    <s:Fade alphaFrom="0" alphaTo="1" duration="{example.duration * .1}"/> 
    <s:Scale scaleXTo="2" scaleYTo="2" duration="{example.duration * .9}"/> 
    <s:Fade alphaFrom="1" alphaTo="0" duration="{example.duration * .1}"/> 
</s:Sequence> 
+0

這樣做,但我一直在尋找一種方式來跨動畫一直寫這些表達式。對不起,這樣的noob問題(我剛開始使用Flex),但除非在這種情況下有一種通用的方法來獲取父動畫,否則這將是最好的答案。 – harpo 2010-09-16 19:51:28

+0

是的,有沒有更簡單或更一般的方式來表達這一點。我找不到任何官方文檔,但有人聲稱(我忘記了在哪裏)設置CompositeEffect的持續時間將爲其所有子項設置相同的持續時間。這對* Parallel *來說是有意義的,但是我正在爲* Sequence *提供更類似於CSS的方法。繼續。 – harpo 2010-09-18 15:52:53

相關問題