• 【AssetManager】的使用与资源预加载


    资源预加载的目的很明确,提升用户体验。当然就开发者而言,比较好的预加载实现方式还可以方便管理。 如果游戏很简单简单,资源很少很少,那么弄资源预加载就是费事,但是以下几种情况的话还是推荐使用:

    1.资源数量大 音乐、图片、视频什么的,如果你的游戏这些东西太多,推荐使用

    2.部分资源反复使用 有些资源会反复使用到,比如一些背景音乐,一些小图标Libgdx中的AssetManager AssetManager是libgdx提供的资源加载方案,详细的可以细致参考。

    (libGdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。它基于Apache License, Version 2.0[2]协议,对商业使用和非商业使用均免费。)

    AssetManager使用很简单,先实例化一个。

    AssetManager assetManager = new AssetManager();

    加载资源时需要制定资源位置和资源类型,目前支持Pixmaps、Textures、BitmapFonts、TextureAtlases、TiledAtlases、TileMapRenderers、Music、Sound这些类型的资源。

    使用方法: assetManager.load("data/img/bg.png", Texture.class);

    assetManager.load("data/font/chinese.fnt", BitmapFont.class);

    assetManager.load("data/music/op_head.ogg", Music.class);

    assetManager.load("data/pack/task1.pack", TextureAtlases.class);

    加载的时候还支持自定义参数,比如加载Texture时

    TextureParameter textureParameter = new TextureParameter();

    textureParameter.minFilter = TextureFilter.Linear;

    textureParameter.genMipMaps = true;

    manager.load("data/img/bg.png", Texture.class, textureParameter);

    大多数情况还是不用考虑自定义参数的。   执行了Load方法其实只是将预加载的资源载入了队列,实质上并没有加载什么,使用Update方法才会加载资源。 该方法有个返回值,当其为True时即加载完成,为False就表示还在加载。 如果需要一个比较准确的返回,比如当前加载到百分之多少了以方便绘制进度条,可以使用getProgress方法,该方法返回一个0到1之间的数字。 获取资源时候使用assetManager.get(位置,类型)即可,

    比如 assetManager.get("data/img/bg.png", Texture.class);

    assetManager.get("data/font/chinese.fnt", BitmapFont.class);

    如果有需要也可以先检查一下 assetManager.isLoaded("data/img/bg.png") 使用时的一些注意事项 如果要取消预加载的话,调用finishLoading方法。 如果要销毁使用完的资源的话,调用unload方法。 还有一个比较重大的问题就是游戏被打断以后,部分资源需要重新加载,不然的话会出现无数报错。

  • 相关阅读:
    asp.net自动将页面中的所有空间置为不可用以及将所有文本框置空
    在<img src="..." title="..."> 中使title的内容换行的方法
    div 遮罩层 弹窗
    Asp.net工作流workflow实战之工作流持久化(五)
    Asp.net工作流workflow实战之给书签命名(四)
    Asp.net工作流workflow实战之工作流启动与继续(三)
    被废弃的 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit
    JAVA核心:内存、比较和Final
    redis AOF保存机制
    JAVA CAS原理浅谈
  • 原文地址:https://www.cnblogs.com/androidsj/p/3064370.html
Copyright © 2020-2023  润新知