mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 11:39:45 +02:00
Neue Klasse für dynamische und statische Objekt, welche anstelle von Label, Graphics nutzt. Rotieren und Skalieren ist damit möglich.
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
package de.heatup.objects;
|
||||||
|
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Draft for dynamic objects
|
||||||
|
*/
|
||||||
|
public class DynamicObject extends JComponent{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
//private Image image;
|
||||||
|
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"));
|
||||||
|
} 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.finalize();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package de.heatup.objects;
|
||||||
|
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Draft for static objects
|
||||||
|
*/
|
||||||
|
public class StaticObject extends JComponent {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
//private Image image;
|
||||||
|
private BufferedImage bf1;
|
||||||
|
private Graphics2D g2d;
|
||||||
|
|
||||||
|
public StaticObject() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
System.out.println(this.bf1.getWidth() + " " + this.bf1.getHeight());
|
||||||
|
//g2d.rotate(0.2, 10, 10);
|
||||||
|
//g2d.scale(1.5, 1.5);
|
||||||
|
g2d.drawImage(bf1, 0, 0, this);
|
||||||
|
g2d.finalize();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void reloadImage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
package de.heatup.objects;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Static class for opponent movement still quick n' dirty
|
||||||
|
*/
|
||||||
|
public class logic {
|
||||||
|
|
||||||
|
public static void startMovement(final DynamicObject dynObj) {
|
||||||
|
Thread t = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
int movex=0, movey=0;
|
||||||
|
int move = 0;
|
||||||
|
int dir;
|
||||||
|
int mx, my;
|
||||||
|
Random rand = new Random();
|
||||||
|
while (true) {
|
||||||
|
if ( move == 0 ) {
|
||||||
|
|
||||||
|
dir = rand.nextInt(20)+1;
|
||||||
|
// System.out.println("Entscheidung: " + dir);
|
||||||
|
if ( dir < 5 || dir > 15) {
|
||||||
|
movex = rand.nextInt(800)+1;
|
||||||
|
move = 2;
|
||||||
|
if (movex > 100) { move = -2; }
|
||||||
|
movey = 0;
|
||||||
|
// System.out.println("X " + move + " " + movex);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
movey = rand.nextInt(600)+1;
|
||||||
|
move = 1;
|
||||||
|
if (movey > 100) { move = -1; }
|
||||||
|
movex = 0;
|
||||||
|
// System.out.println("X " + move + " " + movex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( dynObj.getX() <= 0 && move == -2 ) {
|
||||||
|
move = move * -1;
|
||||||
|
}
|
||||||
|
if ( dynObj.getX() >= 752 && move == 2 ) {
|
||||||
|
move = move * -1;
|
||||||
|
}
|
||||||
|
if ( dynObj.getY() <= 0 && move == -1 ) {
|
||||||
|
move = move * -1;
|
||||||
|
}
|
||||||
|
if ( dynObj.getY() >= 552 && move == 1 ) {
|
||||||
|
move = move * -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// System.out.println("Move " + move + " Movex " + movex + " Movey " + movey);
|
||||||
|
|
||||||
|
if ( move == -2 && movex >= 0) {
|
||||||
|
movex -= 4;
|
||||||
|
mx=-4;
|
||||||
|
my=0;
|
||||||
|
} else if ( move == 2 && movex >= 0) {
|
||||||
|
movex -= 4;
|
||||||
|
mx=4;
|
||||||
|
my=0;
|
||||||
|
} else if (move == -1 && movey >= 0) {
|
||||||
|
movey -= 4;
|
||||||
|
my=-4;
|
||||||
|
mx=0;
|
||||||
|
} else if (move == 1 && movey >= 0) {
|
||||||
|
movey -= 4;
|
||||||
|
my=4;
|
||||||
|
mx=0;
|
||||||
|
} 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();
|
||||||
|
try {
|
||||||
|
Thread.sleep(10);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
t.start();
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 358 B |
Binary file not shown.
|
After Width: | Height: | Size: 390 B |
Binary file not shown.
|
After Width: | Height: | Size: 391 B |
Reference in New Issue
Block a user