zoukankan      html  css  js  c++  java
  • Libgdx 开发指南(1.1) 应用框架——生命周期

    生命周期

    Libgdx应用有一个定义好的生命周期,控制着整个应用的状态,例如creation, pausing, resuming, disposing

    ApplicationListener

    开发者可以通过实现ApplicationListener接口,并传入一个实现了Application的实例来获得生命周期事件的回调函数。自此之后,每当发生一次应用层的事件,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派生一个类。一旦传入了Application,ApplicationListener的方法会在下面时刻被调用:

    Method signatureDescription
    create () 应用创建时调用。
    resize(int width, int height) 屏幕被re-size,且游戏不处于暂停状态时调用。在create()执行后,该方法也会被调用。参数是新的屏幕宽度与高度的像素数。
    render () 应用在游戏循环中每次重绘时调用。游戏逻辑通常在这个方法中更新。
    pause () 在Android上,按到Home键时或有来电时会调用。在Desktop应用中,会在 dispose() 执行,应用退出前执行。这是保存游戏状态的好地方。
    resume () 从暂停状态恢复时调用,仅在Android上调用。
    dispose () 应用销毁时调用,会紧接着一个pause()方法执行。

    主循环

    Libgdx本质上是由于Android和JavaScript的作用产生时间驱动的,并不存在显式的主循环。可以将 ApplicationListener.render() 看作是主循环体。

  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/sunshy/p/3641939.html
Copyright © 2011-2022 走看看