Merge branch 'master' of github.com:jokerx3/prp

This commit is contained in:
toksikk
2014-11-01 21:50:41 +01:00
7 changed files with 185 additions and 149 deletions
@@ -27,13 +27,8 @@ public class DynamicObject extends JComponent{
public void paintComponent(Graphics g) {
g2d = (Graphics2D)g;
//this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png");
try {
if ( bf1 == null ) {
this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_green_guy.png"));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if ( bf1 == null ) {
loadBufferedImage();
}
//g2d.rotate(0.3, 10, 10);
@@ -47,6 +42,14 @@ public class DynamicObject extends JComponent{
System.out.println("paintComponent");
}
private void loadBufferedImage() {
try {
this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/dummy_image.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
public void setImage(BufferedImage image) {
this.bf1 = image;
}
+12 -10
View File
@@ -9,12 +9,10 @@ import javax.imageio.ImageIO;
public class ImageLoader {
public static BufferedImage getBufferedImage(String imageFileName) throws IOException{
return ImageIO.read(new File(imageFileName));
}
public static BufferedImage getBufferedImage(char key) throws IOException{
/*
* TODO: Better solution like try catch if image not found
*/
public static BufferedImage getBufferedImage(char key) {
String imageFileName;
switch (key) {
case 'u':
@@ -30,13 +28,17 @@ public class ImageLoader {
imageFileName="src/de/heatup/resources/images/little_green_guy_right.png";
break;
default:
imageFileName="src/de/heatup/resources/images/25x25_orange.png";
imageFileName="src/de/heatup/resources/images/dummy_image.png";
break;
}
BufferedImage loadedBufferedImage = null;
//System.out.println(imageFileName);
return ImageIO.read(new File(imageFileName));
try {
loadedBufferedImage = ImageIO.read(new File(imageFileName));
} catch (Exception e) {
// TODO: handle exception
}
return loadedBufferedImage;
}
+89 -85
View File
@@ -15,90 +15,94 @@ import javax.swing.JLabel;
public class Objekt {
private static int numberOfInstances;
private BufferedImage objectImage;
private JLabel objectLabel;
private Point objectArea;
private Point actionArea;
public Thread t;
private char objectIdentifier; // TODO: Identifizierung für Map Engine
public Objekt(char objectIdentifier) throws IOException {
numberOfInstances++;
setObjectIdentifier(objectIdentifier);
setObjectImage();
}
private void setObjectImage() throws IOException {
String filename = getImageFilename(objectIdentifier);
System.out.println("Filename: " + filename);
//objectImage = ImageIO.read(new File(filename));
//objectLabel = new JLabel(new ImageIcon(objectImage));
objectImage = ImageLoader.getBufferedImage(filename);
objectLabel = new JLabel(new ImageIcon(objectImage));
}
/*
* Deprecated
*/
/*
* Load corresponding image
*/
private String getImageFilename(char objectIdentifier) {
String objectFilename;
switch (objectIdentifier) {
case '#':
// Path
objectFilename="src/de/heatup/resources/images/25x25_black.png";
break;
case '2':
// Hardware
objectFilename="src/de/heatup/resources/images/25x25_red.png";
break;
case '-':
// Wall
objectFilename="src/de/heatup/resources/images/25x25_blue.png";
break;
default:
objectFilename="src/de/heatup/resources/images/25x25_orange.png";
break;
}
System.out.println(objectFilename);
return objectFilename;
}
/*
* Sets position of object via int x int y
*/
public void setPosition(int x, int y) {
System.out.println(x + " " + y + " " + this.getDimensionX() + " " + this.getDimensionY());
this.objectLabel.setBounds(x, y, this.getDimensionX(), this.getDimensionY());
}
public int getX() {
return this.objectLabel.getX();
}
public int getY() {
return this.objectLabel.getY();
}
public int getDimensionX() {
return this.objectImage.getWidth();
}
public int getDimensionY() {
return this.objectImage.getHeight();
}
public JLabel getLabel() {
return this.objectLabel;
}
public char getOjectIdentifier() {
return this.objectIdentifier;
}
public void setObjectIdentifier(char objectIdentifier) {
this.objectIdentifier = objectIdentifier;
}
// private static int numberOfInstances;
// private BufferedImage objectImage;
// private JLabel objectLabel;
// private Point objectArea;
// private Point actionArea;
// public Thread t;
// private char objectIdentifier; // TODO: Identifizierung für Map Engine
//
// public Objekt(char objectIdentifier) throws IOException {
// numberOfInstances++;
// setObjectIdentifier(objectIdentifier);
// setObjectImage();
//
// }
//
// private void setObjectImage() throws IOException {
// String filename = getImageFilename(objectIdentifier);
// System.out.println("Filename: " + filename);
// //objectImage = ImageIO.read(new File(filename));
// //objectLabel = new JLabel(new ImageIcon(objectImage));
//
// objectImage = ImageLoader.getBufferedImage(filename);
// objectLabel = new JLabel(new ImageIcon(objectImage));
// }
//
// /*
// * Load corresponding image
// */
// private String getImageFilename(char objectIdentifier) {
// String objectFilename;
// switch (objectIdentifier) {
// case '#':
// // Path
// objectFilename="src/de/heatup/resources/images/25x25_black.png";
// break;
// case '2':
// // Hardware
// objectFilename="src/de/heatup/resources/images/25x25_red.png";
// break;
// case '-':
// // Wall
// objectFilename="src/de/heatup/resources/images/25x25_blue.png";
// break;
// default:
// objectFilename="src/de/heatup/resources/images/25x25_orange.png";
// break;
// }
// System.out.println(objectFilename);
// return objectFilename;
// }
//
// /*
// * Sets position of object via int x int y
// */
// public void setPosition(int x, int y) {
// System.out.println(x + " " + y + " " + this.getDimensionX() + " " + this.getDimensionY());
// this.objectLabel.setBounds(x, y, this.getDimensionX(), this.getDimensionY());
// }
//
// public int getX() {
// return this.objectLabel.getX();
// }
//
// public int getY() {
// return this.objectLabel.getY();
// }
//
// public int getDimensionX() {
// return this.objectImage.getWidth();
// }
//
// public int getDimensionY() {
// return this.objectImage.getHeight();
// }
//
// public JLabel getLabel() {
// return this.objectLabel;
// }
//
// public char getOjectIdentifier() {
// return this.objectIdentifier;
// }
//
// public void setObjectIdentifier(char objectIdentifier) {
// this.objectIdentifier = objectIdentifier;
// }
}
+44 -10
View File
@@ -2,6 +2,7 @@ package de.heatup.objects;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
@@ -18,29 +19,62 @@ public class StaticObject extends JComponent {
//private Image image;
private BufferedImage bf1;
private Graphics2D g2d;
private double rescaleFactor = 0.0;
private Point location;
private char staticObjectType;
private int staticObjectWidth;
private int staticObjectHeight;
public StaticObject() {
/*
* #: Path
* -: Wall
* 0 - 9: Hardware
*/
public StaticObject(char staticObjectType, Point location, int staticObjectWidth, int staticObjectHeight) {
this.staticObjectType = staticObjectType;
this.location = location;
this.staticObjectWidth = staticObjectWidth;
this.staticObjectHeight = staticObjectHeight;
loadBufferedImage();
}
public StaticObject(char staticObjectType, Point location) {
this(staticObjectType, location, 25, 25);
}
public void paintComponent(Graphics g) {
this.g2d = (Graphics2D)g;
//this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png");
try {
this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_green_guy.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if ( bf1 == null ) {
loadBufferedImage();
}
System.out.println(this.bf1.getWidth() + " " + this.bf1.getHeight());
//g2d.rotate(0.2, 10, 10);
//g2d.scale(1.5, 1.5);
if ( rescaleFactor != 0.0 ) {
g2d.scale(rescaleFactor, rescaleFactor);
}
g2d.drawImage(bf1, 0, 0, this);
g2d.finalize();
}
public void reloadImage() {
private void loadBufferedImage() {
this.bf1 = ImageLoader.getBufferedImage(this.staticObjectType);
}
public void setImage(BufferedImage image) {
this.bf1 = image;
}
public void setRescale(double rescaleFactor) {
this.rescaleFactor = rescaleFactor;
//this.setBounds(x, y, width, height);
}
public void setAutoBounds(int x, int y) {
this.setBounds(x, y, this.bf1.getWidth(), this.bf1.getHeight());
}
}
+4 -24
View File
@@ -58,42 +58,22 @@ public class logic {
movex -= 4;
mx=-4;
my=0;
try {
dynObj.setImage(ImageLoader.getBufferedImage('l'));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dynObj.setImage(ImageLoader.getBufferedImage('l'));
} else if ( move == 2 && movex >= 0) {
movex -= 4;
mx=4;
my=0;
try {
dynObj.setImage(ImageLoader.getBufferedImage('r'));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dynObj.setImage(ImageLoader.getBufferedImage('r'));
} else if (move == -1 && movey >= 0) {
movey -= 4;
my=-4;
mx=0;
try {
dynObj.setImage(ImageLoader.getBufferedImage('u'));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dynObj.setImage(ImageLoader.getBufferedImage('u'));
} else if (move == 1 && movey >= 0) {
movey -= 4;
my=4;
mx=0;
try {
dynObj.setImage(ImageLoader.getBufferedImage('d'));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dynObj.setImage(ImageLoader.getBufferedImage('d'));
} else {
move = 0;
mx=0;
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+26 -13
View File
@@ -3,6 +3,7 @@ import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.awt.Point;
import java.io.IOException;
import javax.swing.BorderFactory;
@@ -60,7 +61,6 @@ public class GameInterface extends JFrame {
outerPanel.add(gamePanel,BorderLayout.CENTER);
outerPanel.add(actionPanel,BorderLayout.SOUTH);
gamePanel.add(new StaticObject());
frame.add(outerPanel);
@@ -72,7 +72,7 @@ public class GameInterface extends JFrame {
}
/*
* We need to use EQ for EDT
* We need to use EQ for EDT
*/
public static void main(String[] args) throws IOException, InterruptedException {
@@ -82,20 +82,33 @@ public class GameInterface extends JFrame {
GameInterface gameWindow = new GameInterface();
gameWindow.createGUI();
DynamicObject opponent1 = new DynamicObject();
opponent1.setBounds(0, 0, opponent1.getWidth(), opponent1.getHeight());
gameWindow.gamePanel.add(opponent1);
/*
* Test dynamic objects
*/
//DynamicObject opponent1 = new DynamicObject();
//opponent1.setBounds(0, 0, opponent1.getWidth(), opponent1.getHeight());
//gameWindow.gamePanel.add(opponent1);
DynamicObject opponent2 = new DynamicObject();
opponent2.setBounds(0, 0, opponent2.getWidth(), opponent2.getWidth());
gameWindow.gamePanel.add(opponent2);
//DynamicObject opponent2 = new DynamicObject();
//opponent2.setBounds(0, 0, opponent2.getWidth(), opponent2.getWidth());
//gameWindow.gamePanel.add(opponent2);
//logic.startMovement(opponent1);
//logic.startMovement(opponent2);
//opponent1.setRescale(0.4);
/*
* Test static objects
*/
Point p1 = new Point(100, 100);
StaticObject sObj1 = new StaticObject('d',p1);
//sObj1.setBounds(100, 10, 36, 64);
sObj1.setAutoBounds(100, 100);
gameWindow.gamePanel.add(sObj1);
logic.startMovement(opponent1);
logic.startMovement(opponent2);
opponent1.setRescale(0.4);
}
// TODO: Gameloop needs to be added here!!!
}
});
}