游戏的生命周期
了解游戏的生命周期有助于我们更合理的实现游戏逻辑.
---ProjectApp.lua中
local App = {}
---设置引擎委托
xe.AppDeleggate = App
0.1. 游戏启动
在游戏启动后, 会调用App.onStart方法, 我们可以在这个方法中进行游戏的初始化操作.
function App.onStart()
---游戏启动时调用
---在游戏启动后加载第一个场景
---同时可以包含一些模块的初始化操作
end
0.2. 游戏暂停
在游戏进入后台后, 会调用App.onPause方法, 我们在这里可以暂停一些不必要的逻辑, 例如一些模块的Tick操作, 暂停背景音乐等.
function App.onPause()
---暂停onTick逻辑
---暂停背景音乐
---暂停游戏逻辑
end
0.3. 游戏继续
在游戏从后台恢复后, 会调用App.onResume方法, 我们在这里需要恢复各个模块的逻辑, 例如一些被暂停的模块的Tick操作, 以及继续播放背景音乐等.
function App.onResume()
---恢复onTick逻辑
---恢复背景音乐
end
0.4. 游戏结束
在游戏结束后, 会调用App.onEnd方法, 在这里需要释放在Lua层创建的资源, 取消网络连接等, 虽然在引擎销毁的时候也会把背景音乐关掉, 但是引擎是在完全推出游戏后销毁, 所以可能会有一点延时, 所以可以在onEnd方法中关闭背景音乐.
function App.onEnd()
---释放资源
---关闭背景音乐.
end