diff --git a/gameNoName/bin/.gitignore b/gameNoName/bin/.gitignore deleted file mode 100644 index c095171..0000000 --- a/gameNoName/bin/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/objects/ -/ui/ -/utils/ diff --git a/gameNoName/bin/PixelRush-Title.png b/gameNoName/bin/PixelRush-Title.png new file mode 100644 index 0000000..b6cb1b4 Binary files /dev/null and b/gameNoName/bin/PixelRush-Title.png differ diff --git a/gameNoName/bin/PixelRush-TitleS.png b/gameNoName/bin/PixelRush-TitleS.png new file mode 100644 index 0000000..5e5d980 Binary files /dev/null and b/gameNoName/bin/PixelRush-TitleS.png differ diff --git a/gameNoName/bin/audio/Temp/level2.wav b/gameNoName/bin/audio/Temp/level2.wav new file mode 100644 index 0000000..0d31fbe Binary files /dev/null and b/gameNoName/bin/audio/Temp/level2.wav differ diff --git a/gameNoName/bin/audio/level2.wav b/gameNoName/bin/audio/level2.wav index 0d31fbe..a27f000 100644 Binary files a/gameNoName/bin/audio/level2.wav and b/gameNoName/bin/audio/level2.wav differ diff --git a/gameNoName/bin/backgroundMenu.png b/gameNoName/bin/backgroundMenu.png new file mode 100644 index 0000000..fe6e843 Binary files /dev/null and b/gameNoName/bin/backgroundMenu.png differ diff --git a/gameNoName/bin/entities/Player.class b/gameNoName/bin/entities/Player.class index b56254c..0c336bb 100644 Binary files a/gameNoName/bin/entities/Player.class and b/gameNoName/bin/entities/Player.class differ diff --git a/gameNoName/bin/explode.png b/gameNoName/bin/explode.png new file mode 100644 index 0000000..1c5c69a Binary files /dev/null and b/gameNoName/bin/explode.png differ diff --git a/gameNoName/bin/gamestates/Credits.class b/gameNoName/bin/gamestates/Credits.class index e3529e1..1b9a807 100644 Binary files a/gameNoName/bin/gamestates/Credits.class and b/gameNoName/bin/gamestates/Credits.class differ diff --git a/gameNoName/bin/gamestates/GameOptions.class b/gameNoName/bin/gamestates/GameOptions.class index eccb634..d0193ef 100644 Binary files a/gameNoName/bin/gamestates/GameOptions.class and b/gameNoName/bin/gamestates/GameOptions.class differ diff --git a/gameNoName/bin/gamestates/Menu.class b/gameNoName/bin/gamestates/Menu.class index 35a05e4..7e7f195 100644 Binary files a/gameNoName/bin/gamestates/Menu.class and b/gameNoName/bin/gamestates/Menu.class differ diff --git a/gameNoName/bin/gamestates/Playing.class b/gameNoName/bin/gamestates/Playing.class index 1893d10..a74c8c8 100644 Binary files a/gameNoName/bin/gamestates/Playing.class and b/gameNoName/bin/gamestates/Playing.class differ diff --git a/gameNoName/bin/levels/LevelManager.class b/gameNoName/bin/levels/LevelManager.class index 474bc63..bbf0adb 100644 Binary files a/gameNoName/bin/levels/LevelManager.class and b/gameNoName/bin/levels/LevelManager.class differ diff --git a/gameNoName/bin/main/Game.class b/gameNoName/bin/main/Game.class index 7a81323..23fc8cd 100644 Binary files a/gameNoName/bin/main/Game.class and b/gameNoName/bin/main/Game.class differ diff --git a/gameNoName/bin/objects/BackgroundTree.class b/gameNoName/bin/objects/BackgroundTree.class new file mode 100644 index 0000000..e348e07 Binary files /dev/null and b/gameNoName/bin/objects/BackgroundTree.class differ diff --git a/gameNoName/bin/objects/Explosion.class b/gameNoName/bin/objects/Explosion.class new file mode 100644 index 0000000..078e16a Binary files /dev/null and b/gameNoName/bin/objects/Explosion.class differ diff --git a/gameNoName/bin/objects/Grass.class b/gameNoName/bin/objects/Grass.class new file mode 100644 index 0000000..ec06ecf Binary files /dev/null and b/gameNoName/bin/objects/Grass.class differ diff --git a/gameNoName/bin/objects/ObjectManager.class b/gameNoName/bin/objects/ObjectManager.class index 3014c80..f483bb6 100644 Binary files a/gameNoName/bin/objects/ObjectManager.class and b/gameNoName/bin/objects/ObjectManager.class differ diff --git a/gameNoName/bin/outside_sprites_alt.png b/gameNoName/bin/outside_sprites_alt.png new file mode 100644 index 0000000..7a7bb50 Binary files /dev/null and b/gameNoName/bin/outside_sprites_alt.png differ diff --git a/gameNoName/bin/ui/GameCompletedOverlay.class b/gameNoName/bin/ui/GameCompletedOverlay.class new file mode 100644 index 0000000..2817eed Binary files /dev/null and b/gameNoName/bin/ui/GameCompletedOverlay.class differ diff --git a/gameNoName/bin/utils/Constants$Dialogue.class b/gameNoName/bin/utils/Constants$Dialogue.class new file mode 100644 index 0000000..4cd52be Binary files /dev/null and b/gameNoName/bin/utils/Constants$Dialogue.class differ diff --git a/gameNoName/bin/utils/Constants$Directions.class b/gameNoName/bin/utils/Constants$Directions.class index 68dfad8..f6c044b 100644 Binary files a/gameNoName/bin/utils/Constants$Directions.class and b/gameNoName/bin/utils/Constants$Directions.class differ diff --git a/gameNoName/bin/utils/Constants$EnemyConstants.class b/gameNoName/bin/utils/Constants$EnemyConstants.class index facd22d..a5eeb53 100644 Binary files a/gameNoName/bin/utils/Constants$EnemyConstants.class and b/gameNoName/bin/utils/Constants$EnemyConstants.class differ diff --git a/gameNoName/bin/utils/Constants$Environment.class b/gameNoName/bin/utils/Constants$Environment.class new file mode 100644 index 0000000..69c5a46 Binary files /dev/null and b/gameNoName/bin/utils/Constants$Environment.class differ diff --git a/gameNoName/bin/utils/Constants$ObjectConstants.class b/gameNoName/bin/utils/Constants$ObjectConstants.class index 0db1972..9c7cd71 100644 Binary files a/gameNoName/bin/utils/Constants$ObjectConstants.class and b/gameNoName/bin/utils/Constants$ObjectConstants.class differ diff --git a/gameNoName/bin/utils/Constants$PlayerConstants.class b/gameNoName/bin/utils/Constants$PlayerConstants.class index 2e5500c..e28a1a7 100644 Binary files a/gameNoName/bin/utils/Constants$PlayerConstants.class and b/gameNoName/bin/utils/Constants$PlayerConstants.class differ diff --git a/gameNoName/bin/utils/Constants$UI$Buttons.class b/gameNoName/bin/utils/Constants$UI$Buttons.class index 5739b49..df3f3b8 100644 Binary files a/gameNoName/bin/utils/Constants$UI$Buttons.class and b/gameNoName/bin/utils/Constants$UI$Buttons.class differ diff --git a/gameNoName/bin/utils/Constants$UI$PauseButtons.class b/gameNoName/bin/utils/Constants$UI$PauseButtons.class index 9087c21..07460fc 100644 Binary files a/gameNoName/bin/utils/Constants$UI$PauseButtons.class and b/gameNoName/bin/utils/Constants$UI$PauseButtons.class differ diff --git a/gameNoName/bin/utils/Constants$UI$URMButtons.class b/gameNoName/bin/utils/Constants$UI$URMButtons.class index fdc1684..0d91aac 100644 Binary files a/gameNoName/bin/utils/Constants$UI$URMButtons.class and b/gameNoName/bin/utils/Constants$UI$URMButtons.class differ diff --git a/gameNoName/bin/utils/Constants$UI$VolumeButtons.class b/gameNoName/bin/utils/Constants$UI$VolumeButtons.class index cd853f1..5665538 100644 Binary files a/gameNoName/bin/utils/Constants$UI$VolumeButtons.class and b/gameNoName/bin/utils/Constants$UI$VolumeButtons.class differ diff --git a/gameNoName/bin/utils/Constants$UI.class b/gameNoName/bin/utils/Constants$UI.class index ff372fd..9534130 100644 Binary files a/gameNoName/bin/utils/Constants$UI.class and b/gameNoName/bin/utils/Constants$UI.class differ diff --git a/gameNoName/bin/utils/LoadSave.class b/gameNoName/bin/utils/LoadSave.class index 7685aee..618a500 100644 Binary files a/gameNoName/bin/utils/LoadSave.class and b/gameNoName/bin/utils/LoadSave.class differ diff --git a/gameNoName/res/PixelRush-Title.png b/gameNoName/res/PixelRush-Title.png new file mode 100644 index 0000000..b6cb1b4 Binary files /dev/null and b/gameNoName/res/PixelRush-Title.png differ diff --git a/gameNoName/res/PixelRush-TitleS.png b/gameNoName/res/PixelRush-TitleS.png new file mode 100644 index 0000000..5e5d980 Binary files /dev/null and b/gameNoName/res/PixelRush-TitleS.png differ diff --git a/gameNoName/res/audio/Temp/level2.wav b/gameNoName/res/audio/Temp/level2.wav new file mode 100644 index 0000000..0d31fbe Binary files /dev/null and b/gameNoName/res/audio/Temp/level2.wav differ diff --git a/gameNoName/res/audio/level2.wav b/gameNoName/res/audio/level2.wav index 0d31fbe..a27f000 100644 Binary files a/gameNoName/res/audio/level2.wav and b/gameNoName/res/audio/level2.wav differ diff --git a/gameNoName/res/backgroundMenu.png b/gameNoName/res/backgroundMenu.png new file mode 100644 index 0000000..fe6e843 Binary files /dev/null and b/gameNoName/res/backgroundMenu.png differ diff --git a/gameNoName/res/explode.png b/gameNoName/res/explode.png new file mode 100644 index 0000000..1c5c69a Binary files /dev/null and b/gameNoName/res/explode.png differ diff --git a/gameNoName/res/outside_sprites_alt.png b/gameNoName/res/outside_sprites_alt.png new file mode 100644 index 0000000..7a7bb50 Binary files /dev/null and b/gameNoName/res/outside_sprites_alt.png differ diff --git a/gameNoName/src/entities/Player.java b/gameNoName/src/entities/Player.java index 3467860..1c9eeb0 100644 --- a/gameNoName/src/entities/Player.java +++ b/gameNoName/src/entities/Player.java @@ -26,7 +26,7 @@ public class Player extends Entity { private float yDrawOffset = 4 * Game.SCALE; // Jumping / Gravity - private float jumpSpeed = -2.25f * Game.SCALE; + private float jumpSpeed = -2.50f * Game.SCALE; private float fallSpeedAfterCollision = 0.5f * Game.SCALE; // StatusBarUI diff --git a/gameNoName/src/gamestates/Menu.java b/gameNoName/src/gamestates/Menu.java index 4dfb360..3431b9e 100644 --- a/gameNoName/src/gamestates/Menu.java +++ b/gameNoName/src/gamestates/Menu.java @@ -9,17 +9,22 @@ import ui.MenuButton; import utils.LoadSave; +import static utils.Constants.UI.LOGO_HEIGHT; +import static utils.Constants.UI.LOGO_WIDTH; + public class Menu extends State implements Statemethods { private MenuButton[] buttons = new MenuButton[3]; - private BufferedImage backgroundImg, backgroundImgPink; + private BufferedImage backgroundImg, backgroundImgPink, logo; private int menuX, menuY, menuWidth, menuHeight; + private int menuButtonX = Game.GAME_WIDTH / 4; public Menu(Game game) { super(game); loadButtons(); loadBackground(); backgroundImgPink = LoadSave.GetSpriteAtlas(LoadSave.MENU_BACKGROUND_IMG); + logo = LoadSave.GetSpriteAtlas(LoadSave.LOGO); } @@ -32,9 +37,9 @@ private void loadBackground() { } private void loadButtons() { - buttons[0] = new MenuButton(Game.GAME_WIDTH / 2, (int) (130 * Game.SCALE), 0, Gamestate.PLAYING); - buttons[1] = new MenuButton(Game.GAME_WIDTH / 2, (int) (200 * Game.SCALE), 1, Gamestate.OPTIONS); - buttons[2] = new MenuButton(Game.GAME_WIDTH / 2, (int) (270 * Game.SCALE), 2, Gamestate.QUIT); + buttons[0] = new MenuButton(menuButtonX, (int) (130 * Game.SCALE + 90), 0, Gamestate.PLAYING); + buttons[1] = new MenuButton(menuButtonX, (int) (200 * Game.SCALE + 90), 1, Gamestate.OPTIONS); + buttons[2] = new MenuButton(menuButtonX, (int) (270 * Game.SCALE + 90), 2, Gamestate.QUIT); } @Override @@ -46,7 +51,8 @@ public void update() { @Override public void draw(Graphics g) { g.drawImage(backgroundImgPink, 0, 0, Game.GAME_WIDTH, Game.GAME_HEIGHT, null); - g.drawImage(backgroundImg, menuX, menuY, menuWidth, menuHeight, null); +// g.drawImage(backgroundImg, menuX, menuY, menuWidth, menuHeight, null); + g.drawImage(logo, 40, 30, LOGO_WIDTH, LOGO_HEIGHT, null); for (MenuButton mb : buttons) mb.draw(g); diff --git a/gameNoName/src/gamestates/Playing.java b/gameNoName/src/gamestates/Playing.java index 0c40894..ff893a7 100644 --- a/gameNoName/src/gamestates/Playing.java +++ b/gameNoName/src/gamestates/Playing.java @@ -44,8 +44,8 @@ public class Playing extends State implements Statemethods { private boolean paused = false; private int xLvlOffset; - private int leftBorder = (int) (0.25 * Game.GAME_WIDTH); - private int rightBorder = (int) (0.75 * Game.GAME_WIDTH); + private int leftBorder = (int) (0.45 * Game.GAME_WIDTH); + private int rightBorder = (int) (0.55 * Game.GAME_WIDTH); private int maxLvlOffsetX; private BufferedImage backgroundImg, bigCloud, smallCloud, shipImgs[]; @@ -358,7 +358,7 @@ public void keyPressed(KeyEvent e) { case KeyEvent.VK_E: player.setAttacking(true); break; - case KeyEvent.VK_R: + case KeyEvent.VK_Q: player.powerAttack(); break; case KeyEvent.VK_ESCAPE: diff --git a/gameNoName/src/levels/LevelManager.java b/gameNoName/src/levels/LevelManager.java index e3819ff..b25d2c4 100644 --- a/gameNoName/src/levels/LevelManager.java +++ b/gameNoName/src/levels/LevelManager.java @@ -48,8 +48,8 @@ private void buildAllLevels() { private void importOutsideSprites() { BufferedImage img = LoadSave.GetSpriteAtlas(LoadSave.LEVEL_ATLAS); levelSprite = new BufferedImage[48]; - for (int j = 0; j < 4; j++) - for (int i = 0; i < 12; i++) { + for (int j = 0; j < 4; j++) // traverse in y axis + for (int i = 0; i < 12; i++) { // traverse in x axis int index = j * 12 + i; levelSprite[index] = img.getSubimage(i * 32, j * 32, 32, 32); } diff --git a/gameNoName/src/main/Game.java b/gameNoName/src/main/Game.java index ee48eb9..d98e292 100644 --- a/gameNoName/src/main/Game.java +++ b/gameNoName/src/main/Game.java @@ -14,7 +14,7 @@ public class Game implements Runnable { private GamePanel gamePanel; private Thread gameThread; - private final int FPS_SET = 120; + private final int FPS_SET = 60; private final int UPS_SET = 200; private Playing playing; @@ -32,7 +32,7 @@ public class Game implements Runnable { public final static int GAME_WIDTH = TILES_SIZE * TILES_IN_WIDTH; public final static int GAME_HEIGHT = TILES_SIZE * TILES_IN_HEIGHT; - private final boolean SHOW_FPS_UPS = true; + private final boolean SHOW_FPS_UPS = false; public Game() { System.out.println("size: " + GAME_WIDTH + " : " + GAME_HEIGHT); diff --git a/gameNoName/src/main/MainClass.java b/gameNoName/src/main/MainClass.java index e213801..e0dc8b0 100644 --- a/gameNoName/src/main/MainClass.java +++ b/gameNoName/src/main/MainClass.java @@ -6,4 +6,4 @@ public static void main(String[] args) { new Game(); } -} +} \ No newline at end of file diff --git a/gameNoName/src/objects/Explosion.java b/gameNoName/src/objects/Explosion.java new file mode 100644 index 0000000..c8bfb6f --- /dev/null +++ b/gameNoName/src/objects/Explosion.java @@ -0,0 +1,14 @@ +package objects; + +import static utils.Constants.ObjectConstants.*; + +public class Explosion extends GameObject { + public Explosion(int x, int y) { + super(x, y, EXPLOSION); + setAnimation(true); + } + + public void update() { + updateAnimationTick(); + } +} diff --git a/gameNoName/src/objects/ObjectManager.java b/gameNoName/src/objects/ObjectManager.java index 9c0690c..f980a35 100644 --- a/gameNoName/src/objects/ObjectManager.java +++ b/gameNoName/src/objects/ObjectManager.java @@ -21,12 +21,13 @@ public class ObjectManager { private Playing playing; private BufferedImage[][] potionImgs, containerImgs; - private BufferedImage[] cannonImgs, grassImgs; + private BufferedImage[] cannonImgs, grassImgs, explosionImg; private BufferedImage[][] treeImgs; private BufferedImage spikeImg, cannonBallImg; private ArrayList potions; private ArrayList containers; private ArrayList projectiles = new ArrayList<>(); + private ArrayList explosions = new ArrayList<>(); private Level currentLevel; @@ -110,6 +111,13 @@ private void loadImgs() { cannonImgs[i] = temp.getSubimage(i * 40, 0, 40, 26); cannonBallImg = LoadSave.GetSpriteAtlas(LoadSave.CANNON_BALL); + + explosionImg = new BufferedImage[7]; + BufferedImage exp = LoadSave.GetSpriteAtlas(LoadSave.EXPLOSION); + + for (int i = 0; i < explosionImg.length; i++) + explosionImg[i] = exp.getSubimage(i * 54, 0, 54, 60); + treeImgs = new BufferedImage[2][4]; BufferedImage treeOneImg = LoadSave.GetSpriteAtlas(LoadSave.TREE_ONE_ATLAS); for (int i = 0; i < 4; i++) @@ -137,6 +145,7 @@ public void update(int[][] lvlData, Player player) { updateCannons(lvlData, player); updateProjectiles(lvlData, player); + updateExplosion(); } @@ -150,13 +159,31 @@ private void updateProjectiles(int[][] lvlData, Player player) { if (p.isActive()) { p.updatePos(); if (p.getHitbox().intersects(player.getHitbox())) { + explosion((int) (p.getHitbox().x), (int) (p.getHitbox().y - 30)); player.changeHealth(-25); p.setActive(false); - } else if (IsProjectileHittingLevel(p, lvlData)) + } else if (IsProjectileHittingLevel(p, lvlData)) { + explosion((int) (p.getHitbox().x), (int) (p.getHitbox().y - 30)); p.setActive(false); + } + } } + private void explosion(int x, int y) { + explosions.add(new Explosion(x, y)); + } + + private void updateExplosion() { + for (Explosion e : explosions) { + if (e.isActive()) + e.update(); + + if (e.getAniIndex() == 6 && e.getAniTick() == 0) + e.setActive(false); + } + } + private boolean isPlayerInRange(Cannon c, Player player) { int absValue = (int) Math.abs(player.getHitbox().x - c.getHitbox().x); return absValue <= Game.TILES_SIZE * 5; @@ -201,9 +228,17 @@ public void draw(Graphics g, int xLvlOffset) { drawTraps(g, xLvlOffset); drawCannons(g, xLvlOffset); drawProjectiles(g, xLvlOffset); + drawExplosions(g, xLvlOffset); drawGrass(g, xLvlOffset); } + private void drawExplosions(Graphics g, int xLvlOffset) { + for (Explosion e : explosions) { + g.drawImage(explosionImg[e.getAniIndex()], (e.x - EXPLOSION_WIDTH / 2) - xLvlOffset, e.y, + EXPLOSION_WIDTH, EXPLOSION_HEIGHT, null); + } + } + private void drawGrass(Graphics g, int xLvlOffset) { for (Grass grass : currentLevel.getGrass()) g.drawImage(grassImgs[grass.getType()], grass.getX() - xLvlOffset, grass.getY(), (int) (32 * Game.SCALE), (int) (32 * Game.SCALE), null); @@ -242,7 +277,6 @@ private void drawCannons(Graphics g, int xLvlOffset) { private void drawTraps(Graphics g, int xLvlOffset) { for (Spike s : currentLevel.getSpikes()) g.drawImage(spikeImg, (int) (s.getHitbox().x - xLvlOffset), (int) (s.getHitbox().y - s.getyDrawOffset()), SPIKE_WIDTH, SPIKE_HEIGHT, null); - } private void drawContainers(Graphics g, int xLvlOffset) { diff --git a/gameNoName/src/utils/Constants.java b/gameNoName/src/utils/Constants.java index 90b329d..da4c1f0 100644 --- a/gameNoName/src/utils/Constants.java +++ b/gameNoName/src/utils/Constants.java @@ -45,6 +45,7 @@ public static class ObjectConstants { public static final int TREE_ONE = 7; public static final int TREE_TWO = 8; public static final int TREE_THREE = 9; + public static final int EXPLOSION = 10; public static final int RED_POTION_VALUE = 15; public static final int BLUE_POTION_VALUE = 10; @@ -69,13 +70,18 @@ public static class ObjectConstants { public static final int CANNON_WIDTH = (int) (CANNON_WIDTH_DEFAULT * Game.SCALE); public static final int CANNON_HEIGHT = (int) (CANNON_HEIGHT_DEFAULT * Game.SCALE); + public static final int EXPLOSION_WIDTH_DEFAULT = 54; + public static final int EXPLOSION_HEIGHT_DEFAULT = 60; + public static final int EXPLOSION_WIDTH = (int) (EXPLOSION_WIDTH_DEFAULT * Game.SCALE); + public static final int EXPLOSION_HEIGHT = (int) (EXPLOSION_HEIGHT_DEFAULT * Game.SCALE); + public static int GetSpriteAmount(int object_type) { switch (object_type) { case RED_POTION, BLUE_POTION: return 7; case BARREL, BOX: return 8; - case CANNON_LEFT, CANNON_RIGHT: + case CANNON_LEFT, CANNON_RIGHT, EXPLOSION: return 7; } return 1; @@ -226,6 +232,12 @@ public static class Environment { } public static class UI { + + public static final int LOGO_WIDTH_DEFAULT = 344; + public static final int LOGO_HEIGHT_DEFAULT = 148; + public static final int LOGO_WIDTH = (int) (LOGO_WIDTH_DEFAULT * Game.SCALE); + public static final int LOGO_HEIGHT = (int) (LOGO_HEIGHT_DEFAULT * Game.SCALE); + public static class Buttons { public static final int B_WIDTH_DEFAULT = 140; public static final int B_HEIGHT_DEFAULT = 56; diff --git a/gameNoName/src/utils/LoadSave.java b/gameNoName/src/utils/LoadSave.java index 7865776..da61d8b 100644 --- a/gameNoName/src/utils/LoadSave.java +++ b/gameNoName/src/utils/LoadSave.java @@ -12,14 +12,14 @@ public class LoadSave { public static final String PLAYER_ATLAS = "player_sprites.png"; - public static final String LEVEL_ATLAS = "outside_sprites.png"; + public static final String LEVEL_ATLAS = "outside_sprites_alt.png"; public static final String MENU_BUTTONS = "button_atlas.png"; public static final String MENU_BACKGROUND = "menu_background.png"; public static final String PAUSE_BACKGROUND = "pause_menu.png"; public static final String SOUND_BUTTONS = "sound_button.png"; public static final String URM_BUTTONS = "urm_buttons.png"; public static final String VOLUME_BUTTONS = "volume_buttons.png"; - public static final String MENU_BACKGROUND_IMG = "background_menu.png"; + public static final String MENU_BACKGROUND_IMG = "backgroundMenu.png"; public static final String PLAYING_BG_IMG = "playing_bg_img.png"; public static final String BIG_CLOUDS = "big_clouds.png"; public static final String SMALL_CLOUDS = "small_clouds.png"; @@ -46,6 +46,8 @@ public class LoadSave { public static final String WATER_TOP = "water_atlas_animation.png"; public static final String WATER_BOTTOM = "water.png"; public static final String SHIP = "ship.png"; + public static final String EXPLOSION = "explode.png"; + public static final String LOGO = "PixelRush-TitleS.png"; public static BufferedImage GetSpriteAtlas(String fileName) { BufferedImage img = null;