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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

libgdx 学习笔记七 Libgdx模块概述

發布時間:2025/3/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libgdx 学习笔记七 Libgdx模块概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

LibGDX 包括幾個模塊,對每一個典型的游戲架構步驟提供服務。

  • Input?- 對所有平臺提供一個統一的輸入模塊并處理。支持鍵盤,觸摸屏,傳感器,鼠標等
  • Graphics?- 開啟屏幕上圖像的繪制,支持OpenGL ES。
  • Files?- 抽象所有平臺文件訪問為讀寫操作提供合適的方法。
  • Audio?- 在所有平臺上有利于聲音的記錄和播放。
  • Math?- 很實用的模塊,對于游戲開發提供最快的數學計算
  • Physics?- 對于Box2D的完整封裝

以下圖表顯示了在一個簡單的游戲構架中的各個模塊:

以下簡潔的描述各個模塊關于最常見的使用情況

Input

輸入模塊在每個平臺上輪詢不同的輸入狀態。他允許遍歷每一個鍵,觸摸屏,傳感器的狀態,在桌面當傳感器不能使用時由鼠標取代觸摸。

意味著用一個基于Input模塊的事件注冊輸入處理程序。

以下是代碼片段 如果在程序運行中發生了一個觸摸事件,獲得當前觸摸坐標

if (Gdx.input.isTouched()) {
System.out.println(
"Input occurred at x=" + x + ", y=" + y);
}

所有支持輸入的相似函數都會遍歷與處理。

Graphics

圖形模塊抽象了GPU和提供合適方法獲得OpenGL ES的實例之間的通信。他處理所有樣例代碼 保持OpenGL的實例和處理所有由制造者提供的實現。

圖形模塊 提供方法生成位圖和紋理,例如用以下代碼獲得一個OpenGL API 1.0 的實例。

GL10 gl = Gdx.graphics.getGL10 ();

上面方法返回一個能在屏幕上繪制的實例對象。如果硬件配置不支持 OpenGL ES v1.0,他返回null。以下片段 用紅色畫筆清理屏幕

gl.glClearColor(0.1f, 0.0f, 0.0f, 1);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

他返回一個具體的API實例(lwjgl, jogl or android),因此主應用程序支持的API需要手動指定

支持的API版本

1.0Gdx.graphics.getGL10();
1.1Gdx.graphics.getGL11();
2.0Gdx.graphics.getGL20();

學習更多圖形模塊的知識可以點擊?here

Files

文件模塊提供一個泛型方法訪問文件而不用關心平臺。它很容易讀寫文件,文件寫入有一定的局限性,這是由于平臺的安全限制。

文件模塊最常見的使用情況是從同一應用程序的子目錄中載入一個游戲資源。對于寫入最高分數或者游戲狀態文件來說很有用

以下例子從 當前的$APP_DIR/assets/textures 目錄創建一個Texture 文件。

Texture myTexture = new Texture(Gdx.files.internal(“assets/texture/brick.png”));

這是一個非常強大的抽象層它用來在android和桌面應用之間工作

Audio

音頻模塊使創建和播放一個音頻文件非常簡單。他也能直接訪問聲音硬件。他處理兩種類型的聲音文件。音樂與聲音(Music,Sound)。支持WAV,MP3,OGG格式。

每次播放一個文件,他就從音頻設備流出。

以下代碼片段從磁盤上多次播放一個myMusicFile.mp3聲音并設置了音量為一半

Music music = Gdx.audio.newMusic(Gdx.files.getFileHandle("data/myMusicFile.mp3", FileType.Internal));
music.setVolume(
0.5f);
music.play();
music.setLooping(
true);

Math

待定(官方暫無)

Physics

待定(官方暫無)

轉載于:https://www.cnblogs.com/tianjian/archive/2011/09/02/2163864.html

總結

以上是生活随笔為你收集整理的libgdx 学习笔记七 Libgdx模块概述的全部內容,希望文章能夠幫你解決所遇到的問題。

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