AndEngine游戏引擎之【生命周期】(2)

onPopulateScene: 在生命周期的onPopuplateScene()方法中,我们只是完成了场景,但这些只是生命周期回调函数中的一小部分。当我们的应用程序第一次启动时,这个方法应该可以用来定义场景的视觉效果。请注意,在这一步中场景已经被创建并应用到引擎中。在某些情况下是可以看到实体填充场景,如果没有加载屏幕或闪屏,并且如果有大量的实体连接。

onGameCreated: 这意味着onCreateGame()序列执行完成,如果有必要的话可以重新加载资源,否则什么都不做。是否重新加载资源这取决于onSurfaceCreated方法返回的布尔变量。

onSurfaceChanged: 当游戏的取向发生变化时,会调用这个方法。从风景到人像模式,反之亦然。

onResumeGame: 当activity循环启动时,会调用这个方法。如果我们的activity在这步中没有任何问题,引擎将调用start(),激活游戏的更新线程。

游戏最小化或终止时候的生命周期,如下:

onPause: 当activity最小化或终止的时候,会第一个调用这个方法。这是原生的Android暂停方法,它调用RenderSurfaceView对象的暂停方法,并在游戏引擎上恢复唤醒锁的方法。

onPauseGame: 接下来,onPause()的AndEngine实现方法只是简单地调用stop()方法,造成引擎的更新处理程序停止工作。

onDestroy: 在onDestroy()方法中,AndEngine清除引擎的管理类ArrayList对象内包含的所有图形资源。这些管理者包含在VertexBufferObjectManager类,FontManager类中,ShaderProgramManager类,最后是TextureManager类。

onDestroyResources: 该方法的名称可能会有点误导,因为我们已经卸载了大部分的资源在onDestroy()。这个方法释放了所有声音和音乐的对象,通过调用他们管理者的releaseAll()方法。

onGameDestroyed: 最后,我们需要调用AndEngine完整的生命周期中的最后一个方法。这个方法中不会有一大堆的方法,AndEngine只是设置一个mGameCreated的布尔变量为false,规定此activity不再运行。

在下面的图片中,我们可以看到完整的生命周期,当游戏被创建,最小化或销毁:

由于AndEngine生命周期的异步性质,其中的某些方法可能会多次执行。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1b4705734c1d31b1a2b44700eacf8b65.html