Android 遊戲引擎libgdx 資源載入進度百分比顯示案例分析_Android

來源:互聯網
上載者:User

因為案例比較簡單,所以簡單用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();
}
}

四、程式截圖
    alt=
源碼下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.