今天为游戏加了一个简单的菜单,主要用到了 Defold 的 collection proxy 功能。
一般来说我们会把游戏分成一个个的关卡,在Defold 里我们可以把每个关卡相关的东西都放到一个 collection 里。
在游戏进行中,因为内存有限,除非游戏的资源非常少,不然我们是不会把所有东西都放进内存,而是什么时候用到什么才把它载入,不用的资源会被清理掉。
利用 collection proxy 我们就可以很方便地载入或释放相关的 collection !
我们把菜单的资源,路线编辑器的资源和游戏的资源分别放在不同的 collection 里,在菜单按下不同的按钮,系统就会载入编辑器的资源或是游戏的资源,然后进入所选的功能画面。
遊戲一開始原本默認是會打開 main.collection,為了比較清楚,我把它改成了controller.collection,另外加了一個 game object 並在裡面加進菜單,編輯器和遊戲的 collection proxy :
接下來就可以利用腳本里的代碼載入或釋放相關的資源,真是非常的方便!