18910140161

Android游戏引擎libgdx 资源加载进度百分比显示案例分析

顺晟科技

2021-06-16 10:37:44

292

因为案例比较简单,所以简单用安卓应用-游戏-舞台搭建框架

一、主入口,无特殊

代码如下:

公共类应用程序扩展了机器人应用程序{

@覆盖

公共void onCreate(捆绑保存实例){

超级。OnCreate(SaveDinstancestate);

//初始化演示

初始化(新Demo(),false);

}

}

二、游戏主类

这里我们需要资源加载器来管理资源,这里为了测试,可以多加载些图片效果明显点。这里我们还使用了舞台,使用了自适应分辨率。

这里的关键是在渲染方法中不断的刷新资源管理器,并且获取当前加载进度,把它传给舞台处理。

代码如下:

公开课演示扩展游戏{

//资源管理器

私有资产管理器资产管理器=null

//舞台子类

私有场景场景=null

@覆盖

public void create() {

//生成资源管理器

asset manager=new asset manager();

//加载测试图片

for(int I=1;I=6;I)

assetManager.load("map" i).png ",纹理。类);

//生成舞台,480800为基准分辨率,默认延伸

场景=新场景(480,800);

}

@覆盖

public void render() {

Gdx.gl.glClear(GL10 .GL _ COLOR _ BUFFER _ BIT);

//刷新资源管理器

资产经理。update();

//获取资源加载百分比,1代表

浮动进度=资产管理。GetProgreSs();

scene.draw(进度);

}

}

三、舞台类

这里没有特别的地方,只是将获取的进度参数展示出来。

代码如下:

公开课场景延伸舞台{

私有位图字体;

公共场景(浮动宽度、浮动高度){

超级(宽、高、真);

font=new BitMapFont(Gdx。文件。内部(" f . fnt "),false);

字体。SetScale(0.6f);

}

公共无效提取(float t) {

超级。draw();

批处理。begin();

if (t 1.0f) {

font.draw(批处理,“加载”(int)(t * 100)”%,20f,

高度/2f);

} else {

font.draw(批量,"加载成功“,20f,高度/2f);

}

批处理。end();

}

}

我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航