2014-04-14 24 views
0

我正在嘗試創建一個簡單的flash小事件站點,其中每個頁面都有一個前一個和下一個按鈕。 當我點擊它們來瀏覽電影時,我的上一個和下一個按鈕似乎可以正常工作。 (即next-> next-> next-> next ... ie.prev-> prev-> prev - > ...)ActionScript 3.0 - 編碼下一個按鈕,但它跳到下一個頁面

但是當我使用2個按鈕在一起。 最後的下一個應該會讓我回到下一秒飆升的頁面,但它會將我帶到頁面之後。

例如:第1頁(按下) - >第2頁(下一個) 3)

這裏是我的一個頁面代碼:

stop(); 

previous_button.addEventListener(MouseEvent.MOUSE_DOWN, returnToMarineInvertebrate); 
function returnToMarineInvertebrate(event:MouseEvent):void{ 
    gotoAndStop("MarineInvertebrate"); 
} 

hint_button.addEventListener(MouseEvent.MOUSE_DOWN, goToFishHint); 
function goToFishHint(event:MouseEvent):void{ 
    gotoAndStop("FishHint"); 
} 

next_button.addEventListener(MouseEvent.MOUSE_DOWN, goToFossil); 
tail.addEventListener(MouseEvent.MOUSE_DOWN, goToFossil); 
function goToFossil(event:MouseEvent):void{ 
    gotoAndStop("Fossil"); 
} 

我覺得我的邏輯是正確的,但我不知道什麼是錯的。任何幫助,將不勝感激!謝謝!

+0

我已經看到過這種情況,它很神祕。你看到的邏輯看起來很乾淨。你在每個目標幀上都有「stop()」嗎? (不是說你應該,只是問。) – CodeMouse92

+0

是的,我確實有停止()在每一幀。除了上一個和下一個,我還有其他按鈕,即。您看到的提示按鈕,以及提示頁面上的問題按鈕返回,並且它們都可以正常工作。 –

回答

1

這是我在Flash中碰到的一個相當不錯的錯誤。 如果您在目標框架上使用stop(),則gotoAndStop(targetFrame)將取得混合成功。

相反,你會想打電話gotoAndPlay();

這樣做的原因是,在某些情況下(不是全部),gotoAndStop()將會導致Flash忽略的腳本。來自gotoAndStop()的停止呼叫有時可能超過一幀,通常如果stop()已經在那裏。因此,如果你切換到gotoAndPlay(targetFrame),並讓你的stop()命令處理制動,你應該沒問題。

+0

感謝您的幫助!我嘗試使用gotoAndPlay(),它仍然給出相同的問題。 –

+0

另一種方法是刪除'stop()'命令並使用'gotoAndStop()'。從我看到的情況來看,這是那些沒有真正解決方案的漏洞之一。 – CodeMouse92