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