mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 09:59:45 +02:00
Anpassungen für dynamisches Laden von Bildern abhängig von der ausgeführten Aktion
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package de.heatup.objects;
|
||||
|
||||
import java.awt.BasicStroke;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.JComponent;
|
||||
|
||||
@@ -17,24 +20,32 @@ public class DynamicObject extends JComponent{
|
||||
private BufferedImage bf1;
|
||||
|
||||
public DynamicObject() {
|
||||
|
||||
}
|
||||
|
||||
public void paintComponent(Graphics g) {
|
||||
Graphics2D 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"));
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
//g2d.rotate(0.3, 10, 10);
|
||||
//g2d.scale(1.0, 1.0);
|
||||
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
g2d.drawImage(bf1, 0, 0, this);
|
||||
//g2d.setStroke(new BasicStroke(1.0f));
|
||||
//g2d.setStroke(new BasicStroke(8.0f));
|
||||
g2d.finalize();
|
||||
}
|
||||
|
||||
public void setImage(BufferedImage image) {
|
||||
this.bf1 = image;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package de.heatup.objects;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
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{
|
||||
String imageFileName;
|
||||
switch (key) {
|
||||
case 'u':
|
||||
imageFileName="src/de/heatup/resources/images/little_green_guy_up.png";
|
||||
break;
|
||||
case 'd':
|
||||
imageFileName="src/de/heatup/resources/images/little_green_guy.png";
|
||||
break;
|
||||
case 'l':
|
||||
imageFileName="src/de/heatup/resources/images/little_green_guy_left.png";
|
||||
break;
|
||||
case 'r':
|
||||
imageFileName="src/de/heatup/resources/images/little_green_guy_right.png";
|
||||
break;
|
||||
default:
|
||||
imageFileName="src/de/heatup/resources/images/25x25_orange.png";
|
||||
break;
|
||||
}
|
||||
//System.out.println(imageFileName);
|
||||
|
||||
|
||||
return ImageIO.read(new File(imageFileName));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
package de.heatup.objects;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Point;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -20,46 +23,39 @@ public class Objekt {
|
||||
public Thread t;
|
||||
private char objectIdentifier; // TODO: Identifizierung für Map Engine
|
||||
|
||||
/*
|
||||
* TODO: Use Graphics instead of JLabel
|
||||
*/
|
||||
|
||||
/*
|
||||
* This constructor is deprecated
|
||||
*/
|
||||
public Objekt(String filename) throws IOException {
|
||||
numberOfInstances++;
|
||||
objectImage = ImageIO.read(new File(filename));
|
||||
objectLabel = new JLabel(new ImageIcon(objectImage));
|
||||
}
|
||||
|
||||
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));
|
||||
//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 '#':
|
||||
//leiterbahn
|
||||
// Path
|
||||
objectFilename="src/de/heatup/resources/images/25x25_black.png";
|
||||
break;
|
||||
case '2':
|
||||
//2:harware
|
||||
// Hardware
|
||||
objectFilename="src/de/heatup/resources/images/25x25_red.png";
|
||||
break;
|
||||
case '-':
|
||||
//3:wand
|
||||
// Wall
|
||||
objectFilename="src/de/heatup/resources/images/25x25_blue.png";
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package de.heatup.objects;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Random;
|
||||
|
||||
|
||||
@@ -57,26 +58,50 @@ 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();
|
||||
}
|
||||
} 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();
|
||||
}
|
||||
} 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();
|
||||
}
|
||||
} 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();
|
||||
}
|
||||
} else {
|
||||
move = 0;
|
||||
mx=0;
|
||||
my=0;
|
||||
}
|
||||
dynObj.setBounds(dynObj.getX()+mx, dynObj.getY()+my, 36, 64);
|
||||
//System.out.println("x: " + dynObj.getX() + " y:" + dynObj.getY());
|
||||
dynObj.repaint();
|
||||
//System.out.println("x: " + dynObj.getX() + " y: " + dynObj.getY());
|
||||
//System.out.println("h: " + dynObj.getHeight() + " w: " + dynObj.getWidth());
|
||||
try {
|
||||
Thread.sleep(10);
|
||||
} catch (InterruptedException e) {
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 374 B |
Reference in New Issue
Block a user