pac-dude/core/src/com/me/pacman/Assets.java
2019-12-25 01:24:30 +04:00

99 lines
3.9 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.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();
}
}