Hallo ich bin dabei mir ein kleines spiel zu schreiben bin jedoch wie alle beginner an den anfängen 🙂
Mein Playground wird gezeichnet und alle Daten werden eingelesen. Ich habe eine Class Player die Variblen festlegt und diese sich mit get/set Methoden bearbeiten lassen.
Dann habe ich nochn Keylistener der mir die Bewegung ins Spiel bringt aber iwie funktioniert das nicht :/
Player class
MainPanel
Listener
Könnt ihr mir'n paar tipps geben wie ich meine figur zum laufen bringe ?
Danke im voraus 🙂
Mein Playground wird gezeichnet und alle Daten werden eingelesen. Ich habe eine Class Player die Variblen festlegt und diese sich mit get/set Methoden bearbeiten lassen.
Dann habe ich nochn Keylistener der mir die Bewegung ins Spiel bringt aber iwie funktioniert das nicht :/
Player class
Java:
package de.GameDemo.Map;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
public class Player {
private int posx;
private int posy;
private int speed;
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
private Rectangle2D playerShape =null;
public int getPosx() {
return posx;
}
public void setPosx(int posx) {
this.posx = posx;
}
public int getPosy() {
return posy;
}
public void setPosy(int posy) {
this.posy = posy;
}
public Player() {
playerShape = new Rectangle2D.Double(posx+64,posy+64,32,32);
}
public Shape getShape() {
return playerShape;
}
}
MainPanel
Java:
package de.GameDemo.GUI;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.io.IOException;
import javax.swing.JPanel;
import de.GameDemo.DataReader.ReadMapData;
import de.GameDemo.DataReader.ReadTextures;
import de.GameDemo.Listeners.KeyboardListener;
import de.GameDemo.Map.DrawPlayer;
import de.GameDemo.Map.Player;
import de.GameDemo.Map.Playground;
public class MainPanel extends JPanel
{
MainPanel mainpanel = null;
ReadTextures rt = new ReadTextures();
ReadMapData rmd = new ReadMapData();
Player p = new Player();
KeyboardListener kbl = new KeyboardListener(p);
public MainPanel() throws IOException {
setLayout(new GridLayout(1,1));
setFocusable(true);
addKeyListener(kbl);
}
public void paint(Graphics g) {
Playground ground = new Playground(g, rmd.getMap(), rt.getImages());
DrawPlayer dp = new DrawPlayer(g,p);
}
public void setMainPanel(MainPanel panel) {
kbl.setMainpanel(panel);
}
}
Listener
Java:
package de.GameDemo.Listeners;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import de.GameDemo.GUI.MainPanel;
import de.GameDemo.Map.Player;
public class KeyboardListener implements KeyListener {
Player p = null;
MainPanel mainpanel = null;
public KeyboardListener(Player p) {
this.p = p;
p.setSpeed(32);
}
public void setMainpanel(MainPanel mainpanel) {
this.mainpanel = mainpanel;
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getKeyCode() == 68) {
p.setPosx(p.getPosx()+p.getSpeed());
mainpanel.repaint();
}
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
Könnt ihr mir'n paar tipps geben wie ich meine figur zum laufen bringe ?
Danke im voraus 🙂