矩形を画面いっぱいに描画しておき、時間の経過に合わせてアルファ値を操作することでフェードインやフェードアウトを表現できます。
白い矩形で描くとホワイトアウトの表現ができます。
package
{
import flash.display.Sprite;
import flash.events.Event;
[SWF(width="400", height="300", backgroundColor="0x333333", frameRate="30")]
public class Main extends Sprite
{
//背景画像
[Embed(source='./haikei.jpg')] private var imgHaikei:Class;
//フェード用スプライト
private var fadeSprite:Sprite;
//EnterFrameでの処理対象
private var curr_roop:Function;
public function Main()
{
//背景作成
this.addChild(new imgHaikei());
//黒い矩形作成
fadeSprite = new Sprite();
fadeSprite.graphics.beginFill(0x000000,1);
fadeSprite.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);//画面サイズはstage.stageWidth,stage.stageHeight。
fadeSprite.alpha = 0;
this.addChild(fadeSprite);
curr_roop = Turn_FadeIn;
stage.addEventListener(Event.ENTER_FRAME, OnEnterFrame);
}
//フェードイン
private function Turn_FadeIn():void
{
if ( fadeSprite.alpha < 1 ) {
fadeSprite.alpha += 0.01;
} else {
//フェードインが終わったらフェードアウトへ
curr_roop = Turn_FadeOut;
}
}
//フェードアウト
private function Turn_FadeOut():void
{
if ( fadeSprite.alpha > 0 ) {
fadeSprite.alpha -= 0.01;
} else {
//フェードアウトが終わったらフェードインへ
curr_roop = Turn_FadeIn;
}
}
private function OnEnterFrame(e:Event):void
{
curr_roop();
}
}
}