libGDX游戏开发之AssetManager资源管理(十)
libGDX游戏开发之AssetManager资源管理(十)
libGDX系列
,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm…国内用libgdx比较少,多数情况需要去官网和google找资料,相互学习的可以加我联系方式。
资源管理适用于
1、异步加载资源,加载时屏幕显示正在加载
2、多个类反复加载同一资源使用
3、一个存储您所有资产的地方
1、加载
写在create或者全局只执行一次的地方
AssetManager manager = new AssetManager();
// 加载
manager.load("data/mytexture.png", Texture.class);
manager.load("data/myfont.fnt", BitmapFont.class);
manager.load("data/mymusic.ogg", Music.class);
// 加载时需要添加参数时:
TextureParameter param = new TextureParameter();
param.minFilter = TextureFilter.Linear;
param.genMipMaps = true;
manager.load("data/mytexture.png", Texture.class, param);
// 也可以使用阻塞等待加载完成
manager.finishLoading();
// 上面的资源加载完成才能继续下一步
渲染中显示加载…
public void render() {
if(manager.update()) {
// 加载完毕,在这里放入进入另一个场景的代码
game.setScreen(new PlayScreen(game));// 进入玩游戏场景
}
// 获取加载进度
float progress = manager.getProgress()
}
2、获取
获取使用时:
Texture tex = manager.get("data/mytexture.png", Texture.class);
BitmapFont font = manager.get("data/myfont.fnt", BitmapFont.class);
// 判断是否加载某个资源
if(manager.isLoaded("data/mytexture.png")) {
Texture tex = manager.get("data/mytexture.png", Texture.class);
}
从管理中卸载:
通过 AssetManager 管理的资产不应手动处理,而是调用 AssetManager.unload()!
manager.unload("data/myfont.fnt");
// 一次性清除所有
manager.clear();
// 处理也能清理所有,使用后manager将不再可用
manager.dispose();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!