mirror of
https://github.com/jokerx3/HeatUp
synced 2026-07-27 11:29:46 +02:00
Anpassung an Keybinding
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
################################
|
################################
|
||||||
#--1111----#----------#222222--#
|
#1111111111#----------#222222--#
|
||||||
#--1111----#----------#222222--#
|
#1111111111#----------#222222--#
|
||||||
#######################222222###
|
#######################222222###
|
||||||
#---------#----------#########-#
|
#---------#----------#########-#
|
||||||
###############-######---------#
|
###############-######---------#
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
package de.heatup.testing;
|
package de.heatup.testing;
|
||||||
|
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
import javax.swing.InputMap;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
import de.heatup.cfg.Config;
|
import de.heatup.cfg.Config;
|
||||||
import de.heatup.mapengine.MapEngine;
|
import de.heatup.mapengine.MapEngine;
|
||||||
@@ -27,14 +32,14 @@ public class GameLoop {
|
|||||||
Player player01 = new Player();
|
Player player01 = new Player();
|
||||||
Query.setPlayer(player01);
|
Query.setPlayer(player01);
|
||||||
GameInterface.getGamePanel().add(player01);
|
GameInterface.getGamePanel().add(player01);
|
||||||
player01.setBounds(25, 25, 200, 200);
|
player01.setBounds(200, 200, 25, 25);
|
||||||
|
|
||||||
|
|
||||||
// Keybindings as object so we can load different bindings depending on number of players.
|
// Keybindings as object so we can load different bindings depending on number of players.
|
||||||
KeyBindings kb = new KeyBindings();
|
final KeyBindings kb = new KeyBindings();
|
||||||
GameInterface.getGamePanel().setFocusable(true);
|
|
||||||
kb.setKeyBindings();
|
kb.setKeyBindings();
|
||||||
|
|
||||||
|
GameInterface.getGamePanel().setFocusable(true);
|
||||||
|
|
||||||
|
|
||||||
//dynO3.setRescale(1.5,3.5);
|
//dynO3.setRescale(1.5,3.5);
|
||||||
|
|
||||||
@@ -54,5 +59,35 @@ public class GameLoop {
|
|||||||
logic.startMovement(dynO3);
|
logic.startMovement(dynO3);
|
||||||
//logic.startMovement(dynO4);
|
//logic.startMovement(dynO4);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Thread t = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
while (true) {
|
||||||
|
// System.out.println(kb.isDown() + " UD " + kb.isUp() + " - " + kb.isLeft() + " LR " + kb.isRight());
|
||||||
|
|
||||||
|
if ( kb.isLeft() ) {
|
||||||
|
KeyBindings.step('x',-1);
|
||||||
|
} else if ( kb.isRight()) {
|
||||||
|
KeyBindings.step('x',1);
|
||||||
|
} else if ( kb.isUp()) {
|
||||||
|
KeyBindings.step('y',-1);
|
||||||
|
} else if ( kb.isDown()){
|
||||||
|
KeyBindings.step('y',1);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Thread.sleep(100);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
t.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,66 +11,109 @@ import de.heatup.testing.Query;
|
|||||||
|
|
||||||
public class KeyBindings {
|
public class KeyBindings {
|
||||||
|
|
||||||
public void setKeyBindings() {
|
static boolean ignoreKeys = false;
|
||||||
|
static int counter;
|
||||||
|
final static Object obj = new Object();
|
||||||
|
public static boolean left=false;
|
||||||
|
public static boolean right=false;
|
||||||
|
public static boolean up=false;
|
||||||
|
public static boolean down=false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean isDown() {
|
||||||
|
return down;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isLeft() {
|
||||||
|
return left;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRight() {
|
||||||
|
return right;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUp() {
|
||||||
|
return up;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setKeyBindings() {
|
||||||
|
|
||||||
KeyListener kl= new KeyAdapter() {
|
KeyListener kl= new KeyAdapter() {
|
||||||
@Override public void keyPressed(KeyEvent evt) {
|
@Override public void keyPressed(KeyEvent evt) {
|
||||||
int keyCode = evt.getKeyCode();
|
int keyCode = evt.getKeyCode();
|
||||||
switch (keyCode) {
|
switch (keyCode) {
|
||||||
case KeyEvent.VK_LEFT: step('x',-1); break;
|
case KeyEvent.VK_LEFT: left=true; break;
|
||||||
case KeyEvent.VK_RIGHT: step('x',1); break;
|
case KeyEvent.VK_RIGHT: right=true; break;
|
||||||
case KeyEvent.VK_UP: step('y',-1); break;
|
case KeyEvent.VK_UP: up=true; break;
|
||||||
case KeyEvent.VK_DOWN: step('y',1); break;
|
case KeyEvent.VK_DOWN: down=true; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override public void keyReleased(KeyEvent evt) {
|
||||||
|
int keyCode = evt.getKeyCode();
|
||||||
|
switch (keyCode) {
|
||||||
|
case KeyEvent.VK_LEFT: left=false; break;
|
||||||
|
case KeyEvent.VK_RIGHT: right=false; break;
|
||||||
|
case KeyEvent.VK_UP: up=false; break;
|
||||||
|
case KeyEvent.VK_DOWN: down=false; break;
|
||||||
}
|
}
|
||||||
//System.out.println(KeyEvent.getKeyText(evt.getKeyCode()));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
GameInterface.getGamePanel().addKeyListener(kl);
|
GameInterface.getGamePanel().addKeyListener(kl);
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void step(final char d, final int i) {
|
public static void step(final char d, final int i) {
|
||||||
|
//if ( ! ignoreKeys ) {
|
||||||
|
ignoreKeys = true;
|
||||||
|
counter++;
|
||||||
final Player playerX = Query.getPlayer();
|
final Player playerX = Query.getPlayer();
|
||||||
final int stepx = 25;
|
final int stepx = 25;
|
||||||
final int stepy = 25;
|
final int stepy = 25;
|
||||||
|
|
||||||
|
|
||||||
Thread t = new Thread(new Runnable() {
|
|
||||||
@Override
|
// Thread t = new Thread(new Runnable() {
|
||||||
public void run() {
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// synchronized (obj) {
|
||||||
|
|
||||||
int newx = playerX.getX();
|
int newx = playerX.getX();
|
||||||
int newy = playerX.getY();
|
int newy = playerX.getY();
|
||||||
int countx = stepx;
|
int countx = stepx;
|
||||||
int county = stepy;
|
int county = stepy;
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|
||||||
if (d == 'x' && i == -1 && countx != 0) {
|
if (d == 'x' && i == -1 && countx != 0) {
|
||||||
countx--;
|
countx=countx-1;
|
||||||
newx--;
|
newx=newx-1;
|
||||||
} else if ( d == 'x' && i == 1 && countx != 0 ) {
|
} else if ( d == 'x' && i == 1 && countx != 0 ) {
|
||||||
countx--;
|
countx=countx-1;
|
||||||
newx++;
|
newx=newx+1;
|
||||||
} else if ( d == 'y' && i == -1 && county != 0 ) {
|
} else if ( d == 'y' && i == -1 && county != 0 ) {
|
||||||
county--;
|
county=county-1;
|
||||||
newy--;
|
newy=newy-1;
|
||||||
} else if ( d == 'y' && i == 1 && county != 0 ) {
|
} else if ( d == 'y' && i == 1 && county != 0 ) {
|
||||||
county--;
|
county=county-1;
|
||||||
newy++;
|
newy=newy+1;
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
playerX.setAutoBounds(newx, newy);
|
playerX.setAutoBounds(newx, newy);
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
Thread.sleep(20);
|
// Thread.sleep(10);
|
||||||
} catch (InterruptedException e) {
|
// } catch (InterruptedException e) {
|
||||||
// TODO Auto-generated catch block
|
// // TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
ignoreKeys = false;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// t.start();
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
t.start();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user