pac-dude/core/src/com/me/pacman/Assets.java

130 lines
5.5 KiB
Java

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.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[][] deathAnimation;
public TextureRegion[][] ghosts;
public TextureRegion[][] pacman;
public TextureRegion[][] points;
public TextureRegion[][] volume;
public Sound beginning, beginning_alt;
public Sound chaseSound;
public Sound chomp_1, chomp_2;
public Sound deathSound;
public Sound eat_fruit, eat_ghost;
public Sound extra_life;
public Sound return_base;
public Sound siren, siren_fast, siren_faster, siren_fastest;
public Assets() {
this.manager = new AssetManager();
}
public void loadAssets() {
manager.load("level_background.png", Texture.class);
manager.load("level_background_win.png", Texture.class);
manager.load("menu_background.png", Texture.class);
manager.load("logo.png", Texture.class);
manager.load("sprites/level.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/beginning.wav", Sound.class);
manager.load("sounds/beginning_alt.wav", Sound.class);
manager.load("sounds/chase.wav", Sound.class);
manager.load("sounds/chomp_1.wav", Sound.class);
manager.load("sounds/chomp_2.wav", Sound.class);
manager.load("sounds/death.wav", Sound.class);
manager.load("sounds/eat_fruit.wav", Sound.class);
manager.load("sounds/eat_ghost.wav", Sound.class);
manager.load("sounds/extra_life.wav", Sound.class);
manager.load("sounds/return_base.wav", Sound.class);
manager.load("sounds/siren.wav", Sound.class);
manager.load("sounds/siren_fast.wav", Sound.class);
manager.load("sounds/siren_faster.wav", Sound.class);
manager.load("sounds/siren_fastest.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);
deathAnimation = 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
beginning = manager.get("sounds/beginning.wav", Sound.class);
beginning_alt = manager.get("sounds/beginning_alt.wav", Sound.class);
chaseSound = manager.get("sounds/chase.wav", Sound.class);
chomp_1 = manager.get("sounds/chomp_1.wav", Sound.class);
chomp_2 = manager.get("sounds/chomp_2.wav", Sound.class);
deathSound = manager.get("sounds/death.wav", Sound.class);
eat_fruit = manager.get("sounds/eat_fruit.wav", Sound.class);
eat_ghost = manager.get("sounds/eat_ghost.wav", Sound.class);
extra_life = manager.get("sounds/extra_life.wav", Sound.class);
return_base = manager.get("sounds/return_base.wav", Sound.class);
siren = manager.get("sounds/siren.wav", Sound.class);
siren_fast = manager.get("sounds/siren_fast.wav", Sound.class);
siren_faster = manager.get("sounds/siren_faster.wav", Sound.class);
siren_fastest = manager.get("sounds/siren_fastest.wav", Sound.class);
}
public Texture getLevelBackground() {
return manager.get("level_background.png", Texture.class);
}
public Texture getLevelWinBackground() {
return manager.get("level_background_win.png", Texture.class);
}
public Texture getMenuBackground() {
return manager.get("menu_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();
}
}