LibGDX生命周期

本文是The life cycle的译文

LibGDX具有明确的生命周期,用于管理应用程序的状态,如创建、暂停、恢复、渲染和销毁应用程序。

ApplicationListener

应用程序开发人员通过实现ApplicationListener接口并将该实现的实例传递到特定的后端Application实现(平台特定代码)从而掌控应用程序的生命周期事件。从此之后,应用程序将在每次发生应用程序级事件时调用ApplicationListener,一个基础的ApplicationListener可能如下所示:

public class MyGame implements ApplicationListener {
   public void create () {
   }

   public void render () {        
   }

   public void resize (int width, int height) { 
   }

   public void pause () { 
   }

   public void resume () {
   }

   public void dispose () { 
   }
}

如果我们仅仅关心一些其他重要的方法,那么我们也可以直接从ApplicationAdapter中派生.
一旦ApplicationListener被传递给应用程序,ApplicationListener方法将被调用如下:

方法签名 描述
create () 当Application被创建时立即被调用
resize(int width, int height) 当游戏处于渲染状态并且游戏画面被重新调整大小,就会调用此方法。当然,在create()方法之后也会被调用一次。参数是屏幕已调整大小的新宽度和新高度(以像素为单位)
render () 每次渲染应该由应用程序通过游戏循环调用的方法。 游戏逻辑更新通常也在此方法中执行。
pause () 在Android应用上,该方法是将在Home被按下或者有来电时运行,如果是桌面应用,那么它将在dispose() 方法前执行,该方式是保存游戏数据的好地方.
resume () 该方法仅在Android应用上起作用,当应用程序从Pause状态转Resume状态
dispose () 当应用程序被销毁时调用,在此之前pause () 会先执行.

生命周期的的 视图:

生命周期(官网)

主循环在哪?

显式的主循环不存在,这主要是由于Android和JavaScript的工作原理,但是ApplicationListener.render()方法可以被看作是这样一个主循环的主体。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,075评论 25 708
  • 面试题总结 通用 安卓学习途径, 寻找资料学习的博客网站 AndroidStudio使用, 插件使用 安卓和苹果的...
    JingBeibei阅读 1,715评论 2 21
  • 写 作 梦泊 笔尖轻轻划在纸上 黑黑的字 白白的纸 漫漫长夜 满天的星光 向你诉说着一个个凄美的故事 耐人寻味 ...
    0b1a19dd69f4阅读 253评论 0 2
  • 我跟着你的脚步 穿梭 你的手若即若离 追赶 爱化作欲望 振翅 你追我赶的游戏 成了情感俘虏最后的 稻草
    珈迦阅读 341评论 2 11