2013-07-13 61 views
0

我建立一個Flash遊戲,我這樣做:解決:AS3前往控制級

MainStage中,有11幀 主級荷載> Lobby.swf(1幀) 大堂荷載> Arrows.swf( 1幀)

我只是想控制從Arrows.swf主舞臺,獲得當前幀,右箭頭mainStage.current幀+ 1,左箭頭mainStage.current框架-1

我曾嘗試親子方法

this.parent.parent 
parent.parent 
this.root 
parent.root 

每一種組合,我也追蹤,當我最終擊中mainStage它是說我不能轉換舞臺到顯示對象,我明白。

但我怎麼才能得到「mainstage」針的當前幀,並用gotoAndPlay或其他這樣的方法來控制它?

感謝您的幫助

+0

有無ÿ你試圖冒泡事件? – Pan

+0

這種思維方式是如此AS2 ... – Pier

回答

0

我解決了它。

我沒有控制我所做的主要階段,當我加載左右箭頭時,我減少了大廳圖層中的主舞臺圖層我附加了自定義事件的事件偵聽器。

在箭頭電影我寫一個函數來這裏指派該事件是我在電影中的「主」階段使用

代碼行,你想控制:

//ball loader prep and load 
var ballLoader:Loader = new Loader(); 
var ballRequest:URLRequest = new URLRequest("lobbyBalls.swf"); 
ballLoader.load(ballRequest); 
ballLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, ballsLoaded); 

function ballsLoaded(event:Event):void{ 
    trace("ball Loader complete"); 
    ballLoader.x = 50; 
    ballLoader.y = 200; 
    stage.addChild(ballLoader); 
    ballLoader.content.addEventListener("Previous", ctrlPrevFrame); 
    ballLoader.content.addEventListener("Next", ctrlNextFrame); 
} 

在電影中,從要控制

import flash.events.Event; 

leftArrow.addEventListener(MouseEvent.CLICK, prevEvent); 
rightArrow.addEventListener(MouseEvent.CLICK, nextEvent); 

function prevEvent(event:Event):void{ 
    trace("prev"); 
    dispatchEvent(new Event("Previous", true)); 
} 

function nextEvent(event:Event):void{ 
    trace("next"); 
    dispatchEvent(new Event("Next", true)); 
} 

感謝反正....

+0

請確保您在符合條件時將自己的答案標記爲正確(我相信現在的時間目前爲答案制定後的2天)。這將有效地解決這個問題,並且幫助您獲得自己的聲譽得分(這可以讓您在網站上擁有更多權限) –