mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 11:29:46 +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;
|
package de.heatup.objects;
|
||||||
|
|
||||||
|
import java.awt.BasicStroke;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.RenderingHints;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
|
|
||||||
@@ -17,14 +20,15 @@ public class DynamicObject extends JComponent{
|
|||||||
private BufferedImage bf1;
|
private BufferedImage bf1;
|
||||||
|
|
||||||
public DynamicObject() {
|
public DynamicObject() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void paintComponent(Graphics g) {
|
public void paintComponent(Graphics g) {
|
||||||
Graphics2D g2d = (Graphics2D)g;
|
Graphics2D g2d = (Graphics2D)g;
|
||||||
//this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png");
|
//this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png");
|
||||||
try {
|
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) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -34,7 +38,14 @@ public class DynamicObject extends JComponent{
|
|||||||
//g2d.scale(1.0, 1.0);
|
//g2d.scale(1.0, 1.0);
|
||||||
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
|
//g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
g2d.drawImage(bf1, 0, 0, this);
|
g2d.drawImage(bf1, 0, 0, this);
|
||||||
//g2d.setStroke(new BasicStroke(1.0f));
|
//g2d.setStroke(new BasicStroke(8.0f));
|
||||||
g2d.finalize();
|
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;
|
package de.heatup.objects;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
|
import java.awt.RenderingHints;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -20,19 +23,6 @@ public class Objekt {
|
|||||||
public Thread t;
|
public Thread t;
|
||||||
private char objectIdentifier; // TODO: Identifizierung für Map Engine
|
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 {
|
public Objekt(char objectIdentifier) throws IOException {
|
||||||
numberOfInstances++;
|
numberOfInstances++;
|
||||||
setObjectIdentifier(objectIdentifier);
|
setObjectIdentifier(objectIdentifier);
|
||||||
@@ -43,23 +33,29 @@ public class Objekt {
|
|||||||
private void setObjectImage() throws IOException {
|
private void setObjectImage() throws IOException {
|
||||||
String filename = getImageFilename(objectIdentifier);
|
String filename = getImageFilename(objectIdentifier);
|
||||||
System.out.println("Filename: " + filename);
|
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));
|
objectLabel = new JLabel(new ImageIcon(objectImage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Load corresponding image
|
||||||
|
*/
|
||||||
private String getImageFilename(char objectIdentifier) {
|
private String getImageFilename(char objectIdentifier) {
|
||||||
String objectFilename;
|
String objectFilename;
|
||||||
switch (objectIdentifier) {
|
switch (objectIdentifier) {
|
||||||
case '#':
|
case '#':
|
||||||
//leiterbahn
|
// Path
|
||||||
objectFilename="src/de/heatup/resources/images/25x25_black.png";
|
objectFilename="src/de/heatup/resources/images/25x25_black.png";
|
||||||
break;
|
break;
|
||||||
case '2':
|
case '2':
|
||||||
//2:harware
|
// Hardware
|
||||||
objectFilename="src/de/heatup/resources/images/25x25_red.png";
|
objectFilename="src/de/heatup/resources/images/25x25_red.png";
|
||||||
break;
|
break;
|
||||||
case '-':
|
case '-':
|
||||||
//3:wand
|
// Wall
|
||||||
objectFilename="src/de/heatup/resources/images/25x25_blue.png";
|
objectFilename="src/de/heatup/resources/images/25x25_blue.png";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package de.heatup.objects;
|
package de.heatup.objects;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
|
||||||
@@ -57,26 +58,50 @@ public class logic {
|
|||||||
movex -= 4;
|
movex -= 4;
|
||||||
mx=-4;
|
mx=-4;
|
||||||
my=0;
|
my=0;
|
||||||
|
try {
|
||||||
|
dynObj.setImage(ImageLoader.getBufferedImage('l'));
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
} else if ( move == 2 && movex >= 0) {
|
} else if ( move == 2 && movex >= 0) {
|
||||||
movex -= 4;
|
movex -= 4;
|
||||||
mx=4;
|
mx=4;
|
||||||
my=0;
|
my=0;
|
||||||
|
try {
|
||||||
|
dynObj.setImage(ImageLoader.getBufferedImage('r'));
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
} else if (move == -1 && movey >= 0) {
|
} else if (move == -1 && movey >= 0) {
|
||||||
movey -= 4;
|
movey -= 4;
|
||||||
my=-4;
|
my=-4;
|
||||||
mx=0;
|
mx=0;
|
||||||
|
try {
|
||||||
|
dynObj.setImage(ImageLoader.getBufferedImage('u'));
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
} else if (move == 1 && movey >= 0) {
|
} else if (move == 1 && movey >= 0) {
|
||||||
movey -= 4;
|
movey -= 4;
|
||||||
my=4;
|
my=4;
|
||||||
mx=0;
|
mx=0;
|
||||||
|
try {
|
||||||
|
dynObj.setImage(ImageLoader.getBufferedImage('d'));
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
move = 0;
|
move = 0;
|
||||||
mx=0;
|
mx=0;
|
||||||
my=0;
|
my=0;
|
||||||
}
|
}
|
||||||
dynObj.setBounds(dynObj.getX()+mx, dynObj.getY()+my, 36, 64);
|
dynObj.setBounds(dynObj.getX()+mx, dynObj.getY()+my, 36, 64);
|
||||||
//System.out.println("x: " + dynObj.getX() + " y:" + dynObj.getY());
|
//System.out.println("x: " + dynObj.getX() + " y: " + dynObj.getY());
|
||||||
dynObj.repaint();
|
//System.out.println("h: " + dynObj.getHeight() + " w: " + dynObj.getWidth());
|
||||||
try {
|
try {
|
||||||
Thread.sleep(10);
|
Thread.sleep(10);
|
||||||
} catch (InterruptedException e) {
|
} 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