Class SpriteSheetLoader

java.lang.Object
com.badlogic.gdx.assets.loaders.AssetLoader<T,P>
com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader<SpriteSheet,SpriteSheetLoader.SpriteSheetParameters>
edu.cornell.gdiac.assets.SpriteSheetLoader

public class SpriteSheetLoader extends com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader<SpriteSheet,SpriteSheetLoader.SpriteSheetParameters>
This class is an AssetLoader to load SpriteSheet assets.

A sprite sheet asset should be specified by filename:name where name is a unique name for the region. Note that, unlike textures, sprite sheets have state and are not really reusable. They all share a frame attribute. So each sprite sheet asset must be explicitly copied if you want to make another.

  • Field Details

    • resolver

      protected com.badlogic.gdx.assets.loaders.FileHandleResolver resolver
      A reference to the file handle resolver (inaccessible in parent class)
  • Constructor Details

    • SpriteSheetLoader

      public SpriteSheetLoader()
      Creates a new SpriteSheetLoader with an internal file resolver
    • SpriteSheetLoader

      public SpriteSheetLoader(com.badlogic.gdx.assets.loaders.FileHandleResolver resolver)
      Creates a new SpriteSheetLoader with the given file resolver
      Parameters:
      resolver - The file resolver
  • Method Details

    • getLoadedSprite

      protected SpriteSheet getLoadedSprite()
      Returns the SpriteSheet instance currently loaded by this loader.

      If nothing has been loaded, this returns null.

      Returns:
      the SpriteSheet instance currently loaded by this loader.
    • loadAsync

      public void loadAsync(com.badlogic.gdx.assets.AssetManager manager, String fileName, com.badlogic.gdx.files.FileHandle file, SpriteSheetLoader.SpriteSheetParameters params)
      Loads the thread-safe part of the asset and injects any dependencies into the AssetManager.

      This is used to load non-OpenGL parts of the asset that do not require the context of the main thread.

      Specified by:
      loadAsync in class com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader<SpriteSheet,SpriteSheetLoader.SpriteSheetParameters>
      Parameters:
      manager - The asset manager
      fileName - The name of the asset to load
      file - The resolved file to load
      params - The parameters to use for loading the asset
    • loadSync

      public SpriteSheet loadSync(com.badlogic.gdx.assets.AssetManager manager, String fileName, com.badlogic.gdx.files.FileHandle file, SpriteSheetLoader.SpriteSheetParameters params)
      Loads the main thread part of the asset.

      This is used to load OpenGL parts of the asset that require the context of the main thread.

      Specified by:
      loadSync in class com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader<SpriteSheet,SpriteSheetLoader.SpriteSheetParameters>
      Parameters:
      manager - The asset manager
      fileName - The name of the asset to load
      file - The resolved file to load
      params - The parameters to use for loading the asset
    • resolve

      public com.badlogic.gdx.files.FileHandle resolve(String fileName)
      Resolves the file for this sprite sheet

      A sprite sheet asset should be specified by filename:name where name is a unique name for the sprite properties.

      Overrides:
      resolve in class com.badlogic.gdx.assets.loaders.AssetLoader<SpriteSheet,SpriteSheetLoader.SpriteSheetParameters>
      Parameters:
      fileName - The file name to resolve
      Returns:
      handle to the file, as resolved by the file resolver.
    • getDependencies

      public com.badlogic.gdx.utils.Array<com.badlogic.gdx.assets.AssetDescriptor> getDependencies(String fileName, com.badlogic.gdx.files.FileHandle file, SpriteSheetLoader.SpriteSheetParameters params)
      Returns the other assets this asset requires to be loaded first.

      This method may be called on a thread other than the GL thread. It may return null if there are no dependencies.

      Specified by:
      getDependencies in class com.badlogic.gdx.assets.loaders.AssetLoader<SpriteSheet,SpriteSheetLoader.SpriteSheetParameters>
      Parameters:
      fileName - The name of the asset to load
      file - The resolved file to load
      params - parameters for loading the asset
      Returns:
      the other assets this asset requires to be loaded first.
    • load

      public SpriteSheet load(com.badlogic.gdx.graphics.Texture texture, SpriteSheetLoader.SpriteSheetParameters params)
      Loads a sprite sheet from the given texture and parameters.

      If params is null, the sprite sheet will consist of a single frame.

      Parameters:
      texture - The parent texture
      params - The definition of the texture region.
      Returns:
      a texture region for the given texture and parameters.