游戏的生命周期

了解游戏的生命周期有助于我们更合理的实现游戏逻辑.

---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
@Copyright © cosmos 2019 all right reserved,powered by Gitbook修订时间: 2021-04-12 18:28:12

results matching ""

    No results matching ""