140 lines
5.8 KiB
Java
140 lines
5.8 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;
|
|
|
|
private Texture levelBackground;
|
|
private Texture levelWinBackground;
|
|
private Texture menuBackground;
|
|
|
|
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;
|
|
|
|
private BitmapFont font;
|
|
|
|
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();
|
|
|
|
this.font = manager.get("fonts/joystix.ttf", BitmapFont.class);
|
|
levelBackground = manager.get("level_background.png", Texture.class);
|
|
levelWinBackground = manager.get("level_background_win.png", Texture.class);
|
|
menuBackground = manager.get("menu_background.png", Texture.class);
|
|
|
|
// 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 levelBackground;
|
|
}
|
|
|
|
public Texture getLevelWinBackground() {
|
|
return levelWinBackground;
|
|
}
|
|
|
|
public Texture getMenuBackground() {
|
|
return menuBackground;
|
|
}
|
|
|
|
public Texture getLogo() {
|
|
return manager.get("logo.png", Texture.class);
|
|
}
|
|
|
|
public BitmapFont getFont() {
|
|
return font;
|
|
}
|
|
|
|
public void dispose() {
|
|
manager.dispose();
|
|
}
|
|
|
|
}
|