2011-12-05 6 views
0

私はフラッシュの初心者です。私は8つの異なるレイヤーを持つ基本的なスクリーンセーバーを作成しました。 7は隠され、1は現在のように再生されます。私はタイムラインを完成するときにタイムラインを再び開始し、次に第2のレイヤーを表示して第1のレイヤーをマスクする方法があれば疑問に思っていました。それは同じことを行い、2番目のレイヤーをマスキングし、3番目のレイヤーを表示します。タイムラインをフラッシュする毎回異なるレイヤーを隠す

私は完全に間違った方法で行っているかもしれませんが、どんな指針も認められます。

ありがとうございます!

+1

いいえ、あなたはactionscriptでレイヤーを表示/非表示できません。 – Cyclonecode

答えて

1

actionscriptでレイヤーを表示/非表示することはできませんが、表示/非表示を切り替えることはできます。

それぞれのレイヤーはおそらく独自のMovieClipです(そうでない場合は、それぞれ独自のMovieClipを作成してみてください)。これらのそれぞれにインスタンス名(screen1、screen2など)を付けます。最初からタイムラインをキャッチするイベントハンドラを作成し、発生したときにコードを実行できるようにします。独自のフレームカウンタ変数を作成する必要があるかもしれません。このコードは、タイムラインの最初のフレーム(通常はそれ自身のレイヤー)に移動します。これは次のようなものです:

var frameCounter:int = -1; //start at -1 so the first screen gets shown first 
var currentScreen:MovieClip = screen1; //or whatever the name of the first screen is 
var screens:Array = [screen1, screen2, screen3, screen4, screen5]; //load your screens into an array so it's easier to cycle through them 

//make sure all of the screens are hidden to begin with 
for each(var screen:MovieClip in screens) { 
    screen.visible = false; 
} 

this.stage.addEventListener(Event.ENTER_FRAME, handleEnterFrame); 

function handleEnterFrame(evt:Event):void { 

    frameCounter++; 

    if(frameCounter == this.totalFrames) { 
     frameCounter = 0; //just to be sure this value resets properly 
    } 

    if(frameCounter == 0) { 
     var indexOfCurrentScreen = screens.indexOf(currentScreen); 
     var indexOfNextScreen = indexOfCurrentScreen + 1; 

     if(indexOfNextScreen >= screens.length) { 
      indexOfNextScreen = 0; //to make sure we're not out of the array bounds 
     } 

     //hide the last screen, show the next one 
     currentScreen.visible = false; 
     currentScreen = screens[indexOfNextScreen] as MovieClip; 
     currentScreen.visible = true; 
    } 

} 

これで十分なスタートです。このコードは、メインタイムラインの最初のフレームの独自のキーフレームにある必要があります。通常は、そのキーフレームを独自のレイヤーにして、それを「アクション」と呼ぶのが最善です。

真実は、あなたのタイムラインにコードを持たず、代わりに.as(actionscript)ファイルを使用してコードを編成することをお勧めします。しかし、それは別の日の話題です。今のところ、このソリューションはおそらくうまくいくでしょう。

幸運を祈る!

+0

これは本当に助かる!ありがとう! –

関連する問題