(libgdx小结)资源加载器
来源:互联网 发布:java发邮件excel附件 编辑:程序博客网 时间:2024/05/17 02:34
一、初始化及常见的API
manager = new AssetManager();//初始化资源管理器
manager.load("animation.png", Texture.class);//预加载资源
manager.unload("animation.png");//卸载资源
manager.isLoaded("animation.png",Texture.class)//判断资源animation.png是否已经加载
manager.get("animation.png", Texture.class).根据资源的名字来获取相应的资源
AssetManager 类
API定义:负责加载类似于 textures, bitmapfonts, tile maps, sounds, music 等类型的文件。
功能方法:(1)方法:清空和删除所有已加载资源和预加载队列。
clear()
(2):返回的是一个布尔类型,检测是否加载了否个资源。
containsAsset(T asset)
finishLoading()
(3) :获取资源名字,得到的是一个String类型的文件。
getAssetFileName(T asset)
(4) :获取已经加载的资源数量。
getLoadedAssets()
(5) :获取加载进度,返回一个0 - 1之间的小数,这个一般可以用作制作进度条。
getProgress()
(6) :返回的是一个布尔类型,检测你传入的文件是否已经被加载了,一般使用的if判断语句中。
isLoaded(java.lang.String fileName)
(7) :将已传入的文件名和类型加入到预加载队列,为了防止名字和类型重复,这里需要将名字和类型都传入,常用。
load(java.lang.String fileName, java.lang.Class<T> type)
(8) :设置加载器,其实AssetManager类中包装了需要Assetloader对象,这样才能完成不同类型的文件的加载,当然AssetManager也可以加入加载器。
setLoader(java.lang.Class<T> type, AssetLoader<T,P> loader)
(9) :卸载资源,如果某个资源不使用了,就可以卸载该资源,这样有利于游戏流畅性。
unload(java.lang.String fileName)
(10)update():加载资源,实际上Load方法其实只是将预加载的资源加载到了预加载队列,实质上并没有加载资源,使用update()方法才会加载资源,调用该方法才能,使不断加载那写储存在预加载对了中的资源。
功能优点:(官方翻译)
(1)加载大部分资源采用异步加载的方式,这样就能在加载的同时不阻塞渲染进程.
(2)实现了引用计数,当A和B都依赖C素材的时候,C只有在A,B都销毁了才会销毁.这也意味着即使一个资源加载了很多次,在内存中也之后一份.
(3)使用一个单一管理器来实现管理所有素材.
(4)可以实现加载素材时占用的系统内存。
二、应用举例
package com.example.groupactiontest;import com.badlogic.gdx.ApplicationListener;import com.badlogic.gdx.Gdx;import com.badlogic.gdx.assets.AssetManager;import com.badlogic.gdx.graphics.GL10;import com.badlogic.gdx.graphics.Texture;import com.badlogic.gdx.graphics.g2d.SpriteBatch;public class MyGame implements ApplicationListener {AssetManager manager;//资源管理器SpriteBatch batch;@Overridepublic void create() {batch = new SpriteBatch();manager = new AssetManager();//初始化资源管理器manager.load("animation.png", Texture.class);//预加载资源}@Overridepublic void dispose() {manager.unload("animation.png");//卸载资源}@Overridepublic void pause() {manager.unload("animation.png");}@Overridepublic void render() {Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);manager.update();//加载资源if(manager.isLoaded("animation.png",Texture.class)){//判断资源animation.png是否已经加载batch.begin();batch.draw(manager.get("animation.png", Texture.class), 0,0);//manager.get("animation.png", Texture.class).根据资源的名字来获取相应的资源 batch.end();}}@Overridepublic void resize(int arg0, int arg1) {// TODO Auto-generated method stub}@Overridepublic void resume() {// TODO Auto-generated method stub}}
三、效果图
四、源码下载
http://download.csdn.net/detail/caihongshijie6/7010675
0 0
- (libgdx小结)资源加载器
- Libgdx AssetManager资源加载
- libgdx异步加载图片资源
- libgdx中延迟加载资源文件
- Android 游戏引擎libgdx 资源加载进度百分比显示
- libgdx游戏引擎(六)之资源异步加载
- libGDX中AssetManager加载不到资源的解决办法
- (libgdx小结)图形绘制
- (libgdx小结)自定义动画
- (libgdx小结)游戏地图
- (libgdx小结)碰撞检测
- (libgdx小结)粒子编辑器
- (libgdx小结)照相机
- (libgdx小结)游戏摇杆
- (libgdx小结)游戏对话框
- 知识点小结(一)--libgdx
- libgdx 加载图片
- libgdx示例-SuperJumper分析 1. 程序入口与初始化资源,加载配置信息
- Backbone学习笔记
- 中国领先IT技术网
- 计算机科学中最重要的32个算法
- NYOJ 23 取石子(一)
- 黑马程序员—面向对象(static,封装,继承,多态,内部类,抽象类,接口)总结
- (libgdx小结)资源加载器
- 美味书签宣布将关闭服务
- Binary Tree Level Order Traversal
- 关于字符串反转和字符串数值间的转换
- 轻松搞定面试中的二叉树题目
- poj 1426 Find The Multiple(DFS或打表)
- JVM启动参数设置
- 双栈结构_表达式求值
- 【Java基础】类的实例化、static、父类构造函数执行顺序