Android游戏引擎libgdx 资源加载进度百分比显示案例分析
因为案例比较简单,所以简单用AndroidApplication -> Game -> Stage 搭建框架 一、主入口,无特殊 代码如下: public class App extends Andr
顺晟科技
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();
}
}
16
2021-06
16
2019-08