Java Libgdx AssetManager是否在每次调用get方法时都构造一个新对象?

Java Libgdx AssetManager是否在每次调用get方法时都构造一个新对象?,java,libgdx,Java,Libgdx,如果我使用LibGDX AssetManager加载TextureAtlas,它是否会在加载时自动构造新的TextureAtlas,然后在每次调用get方法时返回该对象的地址?或者它实际上是在每次get方法调用时构造一个新的TextureAtlas吗 我试图实现的行为是前者。我扩展了Sprite类,使其包含对应于Sprite的atlas和纹理区域的文件名。我希望能够读入包含这些名称的JSON文件,然后基于JSON文件初始化精灵,但我不希望每个精灵都构造一个新的TextureAtlas,以便它能够

如果我使用LibGDX AssetManager加载TextureAtlas,它是否会在加载时自动构造新的TextureAtlas,然后在每次调用get方法时返回该对象的地址?或者它实际上是在每次get方法调用时构造一个新的TextureAtlas吗

我试图实现的行为是前者。我扩展了Sprite类,使其包含对应于Sprite的atlas和纹理区域的文件名。我希望能够读入包含这些名称的JSON文件,然后基于JSON文件初始化精灵,但我不希望每个精灵都构造一个新的TextureAtlas,以便它能够读取纹理区域。相反,我希望每个精灵都包含对单个TextureAtlas的引用。

AssetManager.load将向加载队列添加一个资源,例如TextureAtlas

AssetManager.finishLoading将创建/构造加载队列中的资产。 如果连续调用AssetManager.update,它将执行与上述相同的操作,直到返回true

AssetManager.get将返回已创建/现有的资产,但不会创建新资产。

您应该编写一个JSON序列化程序,在读取TextureAtlas的名称时,该序列化程序将通过AssetManager检索该atlas。这样,您将节省资源,并且每个地图册只保存一次。但是,您必须确保首先加载了地图集

AssetManager与TextureAtlas非常相似。AssetManager。获取。。。相当于TextureAtlas.find。。。。它们都不会创建任何新对象。每次调用get或find时,它们都将返回相同的对象