2015-09-25 106 views
-1

目前我的遊戲只是由一個播放按鈕組成,當點擊該按鈕時,該按鈕將運行該遊戲;所有的這種情況發生在文檔類,如下所示:然後在ActionScript 3中實現遊戲菜單的最簡單方法是什麼?

stage.addChild(playBtn); 
playBtn.x = 0; 
playBtn.y = stage.stageHeight/2;; 
playBtn.addEventListener(MouseEvent.CLICK, playGame); 

的瑣事()函數從舞臺和事件監聽器除去playBtn,並且運行遊戲代碼。這對我來說一直很好,但現在我想實現一個更復雜的菜單系統,它可能包含很多按鈕,圖形等(基本上是一個舞臺選擇屏幕)。我的問題是,在屏幕上顯示一個菜單,在選擇一個舞臺並在遊戲結束後能夠返回到菜單時將其刪除,更有效的方式是什麼?很顯然,我試圖在不使用時間線的情況下完成所有這些。

+1

這是一個非常寬泛的問題,但總體而言,您的時間表上不應該有_anything_。使用FlashDevelop爲Flash Player製作遊戲和應用程序要容易得多 - 您可以導入圖像,動畫和聲音,但是您可以在真正的IDE中工作。 Flash是一個巨大的障礙,時間軸的使用使事情變得更加複雜。使用Flash創建非交互式動畫/圖像,並使用FlashDevelop將藝術作品加載到遊戲中。 – xxbbcc

+1

的確,這太寬泛了。對這個問題你可以有20個很好但完全不同的答案,而且他們都不會那麼簡潔。考慮先嚐試一下,然後更新你的問題來更具體。你可能會想要實施某種狀態管理。爲每個狀態創建一個單獨的類,而不是在文檔類中包含所有內容 – BadFeelingAboutThis

回答

1

爲每個屏幕使用不同的類。例如MainMenu屏幕類和Game類。然後你的文檔類變成一個簡單的屏幕切換控制器,它實例化,添加和刪除屏幕類。

只要每個屏幕只將內容添加到自身而不是舞臺上,文檔類就不需要知道或關心屏幕內部的內容,並且移除屏幕不會要求移除屏幕中的每個元素。

至於如何將所有元素添加到每個屏幕,讓屏幕類處理它,或與屏幕類鏈接的所有內容的符號。

相關問題