LibGDX Life Cycle
2016-02-25 09:38:30 2 举报
LibGDX Life Cycle
作者其他创作
大纲/内容
dispose()
程序执行顺序1. create() - 初始化程序包括:向内存中加载素材,创建游戏世界的初始状态等。2. resize() - 调整显示尺寸3. 处理系统事件如果此时没有事件发生,应用依然处于运行状态。4. render()此方法主要完成以下两件事:a) 更新游戏世界模型b) 使用更新后的游戏世界模型,在屏幕上绘制游戏场景5. resize()LibGDX 根据检测到的游戏运行的平台,进行如下处理:如果游戏运行在桌面平台或浏览器中,则游戏的窗口大小可能随时会发现变化。 LibGDX 会实时的比较前后两帧窗口的大小,只有当窗口大小发生变化时, resize() 方法才会被调用,从而保证游戏可以适应变化后的窗口大小。6. pause() 和 dispose()执行完上一步动作之后,程序再一次开始处理系统事件。运行时还可能发生的系统事件是程序退出事件。当它发生时, LibGDX 首先会将程序置于暂停状态,然后调用 pause() 方法,此时是保存游戏数据的最好时机,否则当程序退出后,游戏数据可能会丢失。随后 LibGDX 会将程序置于结束状态,然后调用 dispose() 方法,在这里应该对程序进行最后的清理工作,释放所占用的游戏资源。对于 Android 平台而言,当退出事件发生时,上述动作基本上是一定会发生的。有一种特殊情况需要注意,由于 pause() 事件仅是个中间状态,当该事件发生时,并不一定会立刻触发 dispose() 事件,这一点需要特点注意。在程序运行过程中,随时都可能发生 pause() 事件,比如用户按下了 Home 键,或者刚好有来电的时候。实际上,只要在系统可用资源充足的情况下,处于暂停状态下的程序是不会触发 dispose() 事件的。因为这种情况下,程序有可能会触发 resume() 事件,使程序恢复到正常状态。
开始
pause()
resume()
结束
触发条件:1. 按下 Home 键2. 来电3. 打开其它 App
create()
检测游戏平台类型
暂停(pause 事件只有 Android 有效)
true
false
破折线表示:两个连续的有方向性的状态。
处理系统事件
render()
恢复(resume 事件只有 Android 有效)
运行
退出
resize()
0 条评论
下一页