我是Phaser的新手,我一直在編寫多級益智遊戲。如何在Phaser中結束狀態以及回到之前的狀態
分層次的狀態去是這樣的 - 菜單 - > 1級 - >第2級 - >等
現在假設我玩1級,要麼平後完成或在中間當我按返回鍵我希望能夠回到菜單狀態,並且如果我想繼續玩,我希望能夠回到前進的水平。
最初,我假設this.state.start('anyLevel')
可以帶我到任何狀態,並且狀態會像啓動以來第一次運行一樣正常運行。但是,回到已經被解僱一次的國家是困難的。我需要的是能夠回到之前的狀態,並且狀態應該像啓動後第一次運行時那樣運行。 我讀的地方,我需要通過shutDown()
開始一個新的狀態之前清理狀態,我所做的:
shutdown: function() {
this.game.world.removeAll();
}
開始每一個新的水平之前,但它仍然沒有幫助。我也試過使用:
this.state.start('anyLevel', true, false);
但被證明是無用的。調試器不顯示錯誤,這意味着語法上的程序是正確的,但我沒有正確掌握機制。
在此先感謝。
感謝您對多層次遊戲的建議。但在進入新的狀態時,在Phaser中結束舊狀態的正確方法是什麼?我是否必須手動銷燬shutDown()中的每個和所有內容? – RDN
Interphase 1有一個涵蓋「shutdown」狀態的狀態管理器指南。他指出Phaser將負責其大部分清理工作。此外,「如果你的遊戲依賴於外部API,那麼你可能希望關閉任何打開的連接。如果你創建的任何自定義遊戲對象具有更復雜的設置,那麼你應該在這裏銷燬它們,以停止他們從出血到下一個狀態。「 (第64頁)因此,大多數情況下,你應該沒問題。 –