Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 游戲引擎libgdx 資源加載進度百分比顯示案例分析

Android 游戲引擎libgdx 資源加載進度百分比顯示案例分析

編輯:關於Android編程

因為案例比較簡單,所以簡單用AndroidApplication -> Game -> Stage 搭建框架
一、主入口,無特殊
復制代碼 代碼如下:
public class App extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化Demo
initialize(new Demo(), false);
}
}

二、游戲主類
這裡我們需要資源加載器來管理資源,這裡為了測試,可以多加載些圖片效果明顯點。這裡我們還使用了舞台,使用了自適應分辨率。
這裡的關鍵是在渲染方法中不斷的刷新資源管理器,並且獲取當前加載進度,把它傳給舞台處理。
復制代碼 代碼如下:
public class Demo extends Game {
// 資源管理器
private AssetManager assetManager = null;
// 舞台子類
private Scene scene = null;
@Override
public void create() {
// 生成資源管理器
assetManager = new AssetManager();
// 加載測試圖片
for (int i = 1; i <= 6; i++)
assetManager.load("map" + i + ".png", Texture.class);
// 生成舞台,480x800為基准分辨率,默認延伸
scene = new Scene(480, 800);
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
// 刷新資源管理器
assetManager.update();
// 獲取資源加載百分比,1代表100%
float progress = assetManager.getProgress();
scene.draw(progress);
}
}

三、舞台類
這裡沒有特別的地方,只是將獲取的進度參數展示出來。
復制代碼 代碼如下:
public class Scene extends Stage {
private BitmapFont font;
public Scene(float width, float height) {
super(width, height, true);
font = new BitmapFont(Gdx.files.internal("f.fnt"), false);
font.setScale(0.6f);
}
public void draw(float t) {
super.draw();
batch.begin();
if (t < 1.0f) {
font.draw(batch, "Loading " + (int) (t * 100) + "%", 20f,
height / 2f);
} else {
font.draw(batch, "loaded successfully", 20f, height / 2f);
}
batch.end();
}
}

四、程序截圖
  
源碼下載

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved