日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

libgdx 学习笔记七 libgdx应用程序生命周期

發布時間:2023/12/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libgdx 学习笔记七 libgdx应用程序生命周期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

本章內容描述libGDX?應用程序的結構和怎么根據不同的平臺版本使用不同的后臺

The Application

做為任意libGDX 工程的主入口點。Application 決定平臺的版本和后臺圖形。Application?接口提供了合適的方法來訪問Graphics,?Audio,?Input?and?File?I/O模塊。也提供了跨平臺的Logging?模塊。

LibGDX 當前支持2個后端一個是desktop applications 另一個是Android applications 。創建libGDX 應用程序,首先必須實現ApplicationListener?接口

The Application Listener

為了初始化application必須實現這個接口, 它用來更新游戲狀態(即邏輯),渲染出項,暫停游戲,保存狀態,釋放資源等。

它也有一個處理application 聲明周期事件的地方。每個應用,不管后臺平臺版本都必須實現ApplicationListener?接口。所有平臺都會存在并要實現這個接口。

應用程序中,游戲循環和ApplicationListener式游戲邏輯實現的地方。

一個簡單的實現如下:

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

public void render () {
// STUB
}

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

public void pause () {
// STUB
}

public void resume () {
// STUB
}

public void dispose () {
// STUB
}

這些方法 由在應用聲明周期中的事件觸發,描述如下:

方法名

描述

create ()

當應用程序創建時,此方法被調用一次

resize(int width, int height)

?每次游戲屏幕重置尺寸并且不是暫停狀態得時候調用此方法。在create()后調用一次

參數是屏幕被重置后的新寬度和高度

render ()

每次渲染發生時游戲循環調用此方法。游戲更新發生在繪制之前。意思就是說先處理邏輯,在處理繪制。

pause ()

在應用destroyed前調用此方法。在android中檔Home鍵按下或者由重新進入程序時調用此方法。在桌面應用中,退出應用時在dispose()?之間調用

這是一個保存游戲狀態的好地方,在android中resume ()不一定會被調用。

resume ()

這個方法僅在android中調用, 當應用獲得焦點時. 桌面應用中將不會調用此方法。

dispose ()

?當應用destroyed時,調用此方法,在pause()之后

應用程序生命周期

上面提到的方法在應用程序的整個生命周期之間會被觸發

以下圖表顯示一個libGDX應用經過的不同階段:

創建一個桌面應用程序

以下類從先前的MyGame listener使用lwjgl創建一個桌面應用:

public class MyDesktopGame {
public static void main(String[] args) {
new LwjglApplication(new MyGame(), "My Game", 480, 320, false);
}
}

?以下是運行結果:

他創建了一個lwjgl后臺應用,像素為480X320。最后一個參數表明OpenGL ES 2沒有被使用。

以下類創建了一個桌面應用使用JOGL作為后臺,使用了MyGame

import com.badlogic.gdx.backends.jogl.JoglApplication;

public class MyDesktopGame {
public static void main(String[] args) {
new JoglApplication(new MyGame(), "My Game", 480, 320, false);
}
}

第一個例子中需要包含以下庫文件。

  • gdx.jar

  • gdx-natives.jar

  • gdx-backend-lwjgl.jar

  • gdx-backend-lwjgl-natives.jar

第二個例子中需要包含以下庫文件。

  • gdx.jar

  • gdx-natives.jar

  • gdx-backend-jogl.jar

  • gdx-backend-jogl-natives.jar

桌面應用程序構造函數中包含5個參數

ApplicationListener?listener

為應用程序創建的ApplicationListener實例

String title

在應用程序的 title bar上顯示的title

int width

屏幕高度

int height

屏幕高度

boolean useGL2

是否使用GL2,true使用2,false使用1.x

創建Android應用程序

創建android應用程序涉及到的更多,但仍然很簡單。

請參考My First Triangle?教程 設置android工程。

你需要以下目錄和文件

  • armeabi/

  • armeabi-v7a/

  • gdx-backend-android.jar

  • gdx.jar

總結

以上是生活随笔為你收集整理的libgdx 学习笔记七 libgdx应用程序生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。