gpt4 book ai didi

java - 如何将 Pixmap/Texture 加载到 AssetManager 中?

转载 作者:行者123 更新时间:2023-11-29 19:08:55 26 4
gpt4 key购买 nike

我看过那些文章: https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/AssetManager.html http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/PixmapLoader.html http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/TextureLoader.html https://github.com/libgdx/libgdx/wiki/Managing-your-assets

而且我仍然没有找到任何有关如何将纹理加载到 AssetManager 的信息。在我的游戏中,我创建了一个Pixmap 并将其包裹在一个Texture 周围。然后我处理像素图。然后我绘制使用 SpriteBatch 的纹理。我游戏中创建的每个纹理都是由像素图创建的,因此它是在运行时创建的。如何将这些纹理加载到 AssetManager 中?

上面的链接和我遇到的所有内容仅展示了如何从现有文件加载纹理。

最佳答案

来自您的评论

AssetManager can be helpful to prevent taking up memory twice or more.

您可能不需要使用 Assets 管理器来防止这种情况发生。相反,您可以在代码中添加一个条件来检查 Assets 是否已加载,例如

if(myTexture != null){
// not loaded
pmap = new Pixmap(10, 10,Format.RGBA8888);
pmap.setColor(Color.RED);
pmap.fill();
myTexture = new Texture(pmap);
pmap.dispose()
}else{
// already loaded, do nothing (or add to count of times used)
}

如果您仍想使用 Assets 管理器,您有几个选择。

  1. 您可以将当前的纹理/像素图图像保存到实际文件中,然后使用 Assets 管理器正常加载它们。 (最简单的选项)
  2. 扩展AssetManager (code)并添加您自己的方法以将您的 Assets 添加到 Assets objectMap 和 assetTypes objectMap。

关于java - 如何将 Pixmap/Texture 加载到 AssetManager 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46099917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com