Added sprites to tilemap
parent
c4e15de2aa
commit
7a211f67a1
|
@ -64,9 +64,9 @@ public class GamePanel extends JPanel implements Runnable, KeyListener{
|
||||||
}
|
}
|
||||||
player = new Player(GAME_WIDTH/2, GAME_HEIGHT/2, 'W', 'A', 'S', 'D', spriteArray); //create a player controlled player, set start location to middle of screenk
|
player = new Player(GAME_WIDTH/2, GAME_HEIGHT/2, 'W', 'A', 'S', 'D', spriteArray); //create a player controlled player, set start location to middle of screenk
|
||||||
// the height of 35 is set because it is half of the original tile height (i.e., 70px)
|
// the height of 35 is set because it is half of the original tile height (i.e., 70px)
|
||||||
map.add(new SingleTile(1000, 500, box, 35));
|
map.add(new SingleTile(1000, 500, box));
|
||||||
map.add(new SingleTile(700, 400, boxCoin, 35));
|
map.add(new SingleTile(700, 400, boxCoin));
|
||||||
map.add(new SingleTile(1000, 300, boxCoin, 35));
|
map.add(new SingleTile(1000, 300, boxCoin));
|
||||||
map.add(new Tile(700, 200));
|
map.add(new Tile(700, 200));
|
||||||
this.setFocusable(true); //make everything in this class appear on the screen
|
this.setFocusable(true); //make everything in this class appear on the screen
|
||||||
this.addKeyListener(this); //start listening for keyboard input
|
this.addKeyListener(this); //start listening for keyboard input
|
||||||
|
@ -142,7 +142,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener{
|
||||||
public void run(){
|
public void run(){
|
||||||
try {
|
try {
|
||||||
MapReader.inputMap(map, "src/Level1.txt");
|
MapReader.inputMap(map, "src/Level1.txt");
|
||||||
} catch (IOException e) {
|
} catch (IOException | SpriteException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
//the CPU runs our game code too quickly - we need to slow it down! The following lines of code "force" the computer to get stuck in a loop for short intervals between calling other methods to update the screen.
|
//the CPU runs our game code too quickly - we need to slow it down! The following lines of code "force" the computer to get stuck in a loop for short intervals between calling other methods to update the screen.
|
||||||
|
@ -187,7 +187,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public BufferedImage getImage(String imageLocation) throws IOException {
|
public static BufferedImage getImage(String imageLocation) throws IOException {
|
||||||
return ImageIO.read(new File(imageLocation));
|
return ImageIO.read(new File(imageLocation));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Scanner;
|
||||||
|
|
||||||
public class MapReader {
|
public class MapReader {
|
||||||
//Input game map
|
//Input game map
|
||||||
public static void inputMap(ArrayList<Tile> map, String filePath) throws IOException {
|
public static void inputMap(ArrayList<Tile> map, String filePath) throws IOException, SpriteException {
|
||||||
String file = FileManager.readFile(filePath);
|
String file = FileManager.readFile(filePath);
|
||||||
int x = 0;
|
int x = 0;
|
||||||
int y = 0;
|
int y = 0;
|
||||||
|
@ -14,7 +14,7 @@ public class MapReader {
|
||||||
x=0;
|
x=0;
|
||||||
}
|
}
|
||||||
else if(file.charAt(i)=='1'){
|
else if(file.charAt(i)=='1'){
|
||||||
map.add(new Tile(x,y));
|
map.add(new SingleTile(x,y, GamePanel.getImage("img/tiles/terrain/grass.png")));
|
||||||
}
|
}
|
||||||
x+=Tile.length;
|
x+=Tile.length;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,17 +2,14 @@ import java.awt.*;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
public class SingleTile extends Tile {
|
public class SingleTile extends Tile {
|
||||||
public int length;
|
|
||||||
public BufferedImage tileImage;
|
public BufferedImage tileImage;
|
||||||
|
|
||||||
public SingleTile(int x, int y, BufferedImage tileImage, int length) throws SpriteException {
|
public SingleTile(int x, int y, BufferedImage tileImage) throws SpriteException {
|
||||||
super(x, y);
|
super(x, y);
|
||||||
|
|
||||||
if (tileImage.getWidth() != tileImage.getHeight()) {
|
if (tileImage.getWidth() != tileImage.getHeight()) {
|
||||||
throw new SpriteException();
|
throw new SpriteException();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.length = length;
|
|
||||||
this.tileImage = tileImage;
|
this.tileImage = tileImage;
|
||||||
}
|
}
|
||||||
public void draw(Graphics g){
|
public void draw(Graphics g){
|
||||||
|
|
Loading…
Reference in New Issue