mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 10:19:46 +02:00
Spieler hinzugefügt inkl. Keybinding noch unsauber
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -8,13 +8,13 @@ import de.heatup.objects.DynamicObject;
|
|||||||
import de.heatup.objects.StaticObject;
|
import de.heatup.objects.StaticObject;
|
||||||
import de.heatup.objects.logic;
|
import de.heatup.objects.logic;
|
||||||
import de.heatup.ui.GameInterface;
|
import de.heatup.ui.GameInterface;
|
||||||
|
import de.heatup.ui.KeyBindings;
|
||||||
|
import de.heatup.testing.Query;
|
||||||
|
|
||||||
public class GameLoop {
|
public class GameLoop {
|
||||||
|
|
||||||
public static void startGameLoop() {
|
public static void startGameLoop() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DynamicObject dynO1 = new DynamicObject();
|
DynamicObject dynO1 = new DynamicObject();
|
||||||
GameInterface.getGamePanel().add(dynO1);
|
GameInterface.getGamePanel().add(dynO1);
|
||||||
DynamicObject dynO2 = new DynamicObject();
|
DynamicObject dynO2 = new DynamicObject();
|
||||||
@@ -24,6 +24,18 @@ public class GameLoop {
|
|||||||
DynamicObject dynO4 = new DynamicObject();
|
DynamicObject dynO4 = new DynamicObject();
|
||||||
GameInterface.getGamePanel().add(dynO4);
|
GameInterface.getGamePanel().add(dynO4);
|
||||||
|
|
||||||
|
Player player01 = new Player();
|
||||||
|
Query.setPlayer(player01);
|
||||||
|
GameInterface.getGamePanel().add(player01);
|
||||||
|
player01.setBounds(25, 25, 200, 200);
|
||||||
|
|
||||||
|
|
||||||
|
// Keybindings as object so we can load different bindings depending on number of players.
|
||||||
|
KeyBindings kb = new KeyBindings();
|
||||||
|
GameInterface.getGamePanel().setFocusable(true);
|
||||||
|
kb.setKeyBindings();
|
||||||
|
|
||||||
|
|
||||||
//dynO3.setRescale(1.5,3.5);
|
//dynO3.setRescale(1.5,3.5);
|
||||||
|
|
||||||
// Config.setGamePanelWidth(900);
|
// Config.setGamePanelWidth(900);
|
||||||
@@ -42,5 +54,5 @@ public class GameLoop {
|
|||||||
logic.startMovement(dynO3);
|
logic.startMovement(dynO3);
|
||||||
//logic.startMovement(dynO4);
|
//logic.startMovement(dynO4);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package de.heatup.testing;
|
||||||
|
|
||||||
|
import java.awt.BasicStroke;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.RenderingHints;
|
||||||
|
import java.awt.event.KeyAdapter;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
|
||||||
|
import de.heatup.objects.ImageLoader;
|
||||||
|
|
||||||
|
public class Player extends JComponent {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
//private Image image;
|
||||||
|
private BufferedImage bf1;
|
||||||
|
private Graphics2D g2d;
|
||||||
|
|
||||||
|
private double rescaleFactorX = 0.0;
|
||||||
|
private double rescaleFactorY = 0.0;
|
||||||
|
|
||||||
|
public void paintComponent(Graphics g) {
|
||||||
|
g2d = (Graphics2D)g;
|
||||||
|
//this.image = Toolkit.getDefaultToolkit().getImage("src/de/heatup/resources/images/little_green_guy.png");
|
||||||
|
if ( bf1 == null ) {
|
||||||
|
loadBufferedImage();
|
||||||
|
}
|
||||||
|
|
||||||
|
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
|
g2d.drawImage(bf1, 0, 0, this);
|
||||||
|
g2d.setStroke(new BasicStroke(8.0f));
|
||||||
|
g2d.finalize();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadBufferedImage() {
|
||||||
|
try {
|
||||||
|
this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_blue_guy_verysmall.png"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setImage(BufferedImage image) {
|
||||||
|
this.bf1 = image;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAutoBounds(int x, int y) {
|
||||||
|
this.setBounds(x, y, this.bf1.getWidth(), this.bf1.getHeight());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package de.heatup.testing;
|
||||||
|
|
||||||
|
public class Query {
|
||||||
|
private static Player player1;
|
||||||
|
|
||||||
|
public static void setPlayer(Player playerX) {
|
||||||
|
Query.player1 = playerX;
|
||||||
|
}
|
||||||
|
public static Player getPlayer() {
|
||||||
|
return Query.player1;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -38,6 +38,7 @@ public class GameInterface extends JFrame {
|
|||||||
private static JPanel actionPanel;
|
private static JPanel actionPanel;
|
||||||
//private BufferedImage image;
|
//private BufferedImage image;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void createGUI() {
|
public static void createGUI() {
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package de.heatup.ui;
|
||||||
|
|
||||||
|
import java.awt.event.KeyAdapter;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import de.heatup.objects.ImageLoader;
|
||||||
|
import de.heatup.testing.Player;
|
||||||
|
import de.heatup.testing.Query;
|
||||||
|
|
||||||
|
public class KeyBindings {
|
||||||
|
|
||||||
|
public void setKeyBindings() {
|
||||||
|
KeyListener kl= new KeyAdapter() {
|
||||||
|
@Override public void keyPressed(KeyEvent evt) {
|
||||||
|
int keyCode = evt.getKeyCode();
|
||||||
|
switch (keyCode) {
|
||||||
|
case KeyEvent.VK_LEFT: step('x',-1); break;
|
||||||
|
case KeyEvent.VK_RIGHT: step('x',1); break;
|
||||||
|
case KeyEvent.VK_UP: step('y',-1); break;
|
||||||
|
case KeyEvent.VK_DOWN: step('y',1); break;
|
||||||
|
}
|
||||||
|
//System.out.println(KeyEvent.getKeyText(evt.getKeyCode()));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
GameInterface.getGamePanel().addKeyListener(kl);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void step(final char d, final int i) {
|
||||||
|
final Player playerX = Query.getPlayer();
|
||||||
|
final int stepx = 25;
|
||||||
|
final int stepy = 25;
|
||||||
|
|
||||||
|
|
||||||
|
Thread t = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
int newx = playerX.getX();
|
||||||
|
int newy = playerX.getY();
|
||||||
|
int countx = stepx;
|
||||||
|
int county = stepy;
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
|
||||||
|
if (d == 'x' && i == -1 && countx != 0) {
|
||||||
|
countx--;
|
||||||
|
newx--;
|
||||||
|
} else if ( d == 'x' && i == 1 && countx != 0 ) {
|
||||||
|
countx--;
|
||||||
|
newx++;
|
||||||
|
} else if ( d == 'y' && i == -1 && county != 0 ) {
|
||||||
|
county--;
|
||||||
|
newy--;
|
||||||
|
} else if ( d == 'y' && i == 1 && county != 0 ) {
|
||||||
|
county--;
|
||||||
|
newy++;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
playerX.setAutoBounds(newx, newy);
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(20);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
t.start();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user