package com.me.pacman; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.assets.loaders.FileHandleResolver; import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver; import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGeneratorLoader; import com.badlogic.gdx.graphics.g2d.freetype.FreetypeFontLoader; public class Assets { private AssetManager manager; public TextureRegion[][] level; public TextureRegion[][] chase; public TextureRegion[][] death; public TextureRegion[][] ghosts; public TextureRegion[][] pacman; public TextureRegion[][] points; public TextureRegion[][] volume; public Sound chomp_1; public Sound chomp_2; public Sound siren; public Sound beginning; public Assets() { this.manager = new AssetManager(); } public void loadAssets() { manager.load("level_background.png", Texture.class); manager.load("logo.png", Texture.class); manager.load("sprites/level.png", Texture.class); manager.load("sprites/chase.png", Texture.class); manager.load("sprites/death.png", Texture.class); manager.load("sprites/ghosts.png", Texture.class); manager.load("sprites/pacman.png", Texture.class); manager.load("sprites/points.png", Texture.class); manager.load("sprites/volume.png", Texture.class); manager.load("sounds/chomp_1.wav", Sound.class); manager.load("sounds/chomp_2.wav", Sound.class); manager.load("sounds/siren.wav", Sound.class); manager.load("sounds/beginning.wav", Sound.class); // Yayyy! all of this to load a font FileHandleResolver resolver = new InternalFileHandleResolver(); manager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver)); manager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver)); FreetypeFontLoader.FreeTypeFontLoaderParameter font = new FreetypeFontLoader.FreeTypeFontLoaderParameter(); font.fontFileName = "fonts/joystix.ttf"; font.fontParameters.size = 10; font.fontParameters.mono = true; manager.load("fonts/joystix.ttf", BitmapFont.class, font); // finish loading assets from disk manager.finishLoading(); // cache our texture regions level = TextureRegion.split(manager.get("sprites/level.png", Texture.class), 8, 8); chase = TextureRegion.split(manager.get("sprites/chase.png", Texture.class), 16, 16); death = TextureRegion.split(manager.get("sprites/death.png", Texture.class), 16, 16); ghosts = TextureRegion.split(manager.get("sprites/ghosts.png", Texture.class), 16, 16); pacman = TextureRegion.split(manager.get("sprites/pacman.png", Texture.class), 16, 16); points = TextureRegion.split(manager.get("sprites/points.png", Texture.class), 16, 16); volume = TextureRegion.split(manager.get("sprites/volume.png", Texture.class), 16, 16); // all our sounds chomp_1 = manager.get("sounds/chomp_1.wav", Sound.class); chomp_2 = manager.get("sounds/chomp_2.wav", Sound.class); siren = manager.get("sounds/siren.wav", Sound.class); beginning = manager.get("sounds/beginning.wav", Sound.class); } public Texture getLevelBackground() { return manager.get("level_background.png", Texture.class); } public Texture getLogo() { return manager.get("logo.png", Texture.class); } public BitmapFont getFont() { return manager.get("fonts/joystix.ttf", BitmapFont.class); } public void dispose() { manager.dispose(); } }