您可以嘗試使用一個ViewStack
和Timer
通過其子迭代。只需在它們上添加淡入/淡出效果,即可獲得所需的信息。
類似的東西:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="black" creationComplete="creationCompleteHandler">
<mx:Script>
<![CDATA[
private var timer:Timer;
private function creationCompleteHandler():void
{
timer = new Timer(2000);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
}
private function timerHandler(e:TimerEvent):void
{
if(vs.selectedIndex == vs.getChildren().length - 1)
vs.selectedIndex = 0;
else
vs.selectedIndex++;
}
]]>
</mx:Script>
<mx:Fade id="fadeIn" alphaFrom="0" alphaTo="1" duration="500" effectEnd="timer.start();"/>
<mx:Fade id="fadeOut" alphaFrom="1" alphaTo="0" duration="500" effectEnd="timer.stop();"/>
<mx:ViewStack id="vs">
<mx:Canvas showEffect="fadeIn" hideEffect="fadeOut">
<mx:Image source="picture1.jpg"/>
</mx:Canvas>
<mx:Canvas showEffect="fadeIn" hideEffect="fadeOut">
<mx:Image source="picture2.jpg"/>
</mx:Canvas>
<mx:Canvas showEffect="fadeIn" hideEffect="fadeOut">
<mx:Image source="picture3.jpg"/>
</mx:Canvas>
</mx:ViewStack>
</mx:Application>
請注意,此代碼不是最優化的一個。最好的做法是創建一個具有黑色背景和2個組件的自定義組件。
- 設置兩個 他們的
alpha
屬性設置爲0
- 負載中的第一個畫面,然後 實際上
- 播放淡入開始裝載下面的圖片 第二
Image
分量
- 淡出第一張,淡入 秒,並在第一張圖片中加載以下 圖片等
這樣你只有一個容器(而不是每張圖片加上ViewStack)和2個圖像。
如果需要,從內存中清理它們也會更容易。