Android 游戲引擎libgdx 資源加載進(jìn)度百分比顯示案例分析
因?yàn)榘咐容^簡單,所以簡單用AndroidApplication -> Game -> Stage 搭建框架
一、主入口,無特殊
public class App extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//初始化Demo
initialize(new Demo(), false);
}
}
二、游戲主類
這里我們需要資源加載器來管理資源,這里為了測試,可以多加載些圖片效果明顯點(diǎn)。這里我們還使用了舞臺,使用了自適應(yīng)分辨率。
這里的關(guān)鍵是在渲染方法中不斷的刷新資源管理器,并且獲取當(dāng)前加載進(jìn)度,把它傳給舞臺處理。
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為基準(zhǔn)分辨率,默認(rèn)延伸
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);
}
}
三、舞臺類
這里沒有特別的地方,只是將獲取的進(jìn)度參數(shù)展示出來。
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();
}
}
四、程序截圖


源碼下載
相關(guān)文章
Flutter Image實(shí)現(xiàn)圖片加載
這篇文章主要為大家詳細(xì)介紹了Flutter Image實(shí)現(xiàn)圖片加載,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07Android中EditText光標(biāo)的顯示與隱藏方法
這篇文章主要給大家介紹了關(guān)于Android中EditText光標(biāo)的顯示與隱藏以及Android之第一次不顯示EditText光標(biāo)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11Android中關(guān)于相對布局RelativeLayout的技巧匯總
RelativeLayout是相對布局控件,以控件之間相對位置或相對父容器位置進(jìn)行排列。下面這篇文章主要給大家介紹了關(guān)于Android中相對布局RelativeLayout的一些技巧,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02Android中post請求傳遞json數(shù)據(jù)給服務(wù)端的實(shí)例
下面小編就為大家分享一篇Android中post請求傳遞json數(shù)據(jù)給服務(wù)端的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01Android編程實(shí)現(xiàn)canvas繪制柱狀統(tǒng)計圖功能【自動計算寬高及分度值、可左右滑動】
這篇文章主要介紹了Android編程實(shí)現(xiàn)canvas繪制柱狀統(tǒng)計圖功能,具備自動計算寬高及分度值及左右滑動的功能,涉及Android canvas繪圖操作相關(guān)技巧,需要的朋友可以參考下2017-01-01Android CardView詳解及使用方法和實(shí)例
這篇文章主要介紹了Android CardView詳解及使用方法和實(shí)例的相關(guān)資料,這里附有實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下2016-12-12Android實(shí)現(xiàn)EditText的富文本編輯
這篇文章主要介紹了Android實(shí)現(xiàn)EditText的富文本編輯,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08超過百萬的StackOverflow Flutter 20大問題(推薦)
這篇文章主要介紹了超過百萬的StackOverflow Flutter 問題,有的問題在stackoverflow上有幾十萬的閱讀量,說明很多人都遇到了這些問題,把這些問題整理分享給大家需要的朋友可以參考下2020-04-04