B
ByeBye 249712
Hallo zusammen,
Ich bin dabei ein Spiel zu programmieren, jedoch scheitert es schon zu Beginn an der Umsetzung des Spielfeldhintergrundes. Habe momentan zwei Punkte die sich steuern lassen und möchte das diese sich auf einem Hintergrund bewegen. Beim ausführen des Programms erscheinen jedoch nur die zwei Punkte ohne den Hintergrund, kann mir jemand sagen warum
?
Hier der Code der Klasse:
Ich bin dabei ein Spiel zu programmieren, jedoch scheitert es schon zu Beginn an der Umsetzung des Spielfeldhintergrundes. Habe momentan zwei Punkte die sich steuern lassen und möchte das diese sich auf einem Hintergrund bewegen. Beim ausführen des Programms erscheinen jedoch nur die zwei Punkte ohne den Hintergrund, kann mir jemand sagen warum

Hier der Code der Klasse:
Java:
package lizrace;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Keylistener extends JPanel implements ActionListener, KeyListener {
private static final long serialVersionUID = 1L;
private final int i = 5;
private Timer t = new Timer(i, (ActionListener) this);
private double x = 0, y = 0, velx = 0, vely = 0;
private final int j = 100;
private final int k = 100;
private double z = j, q = k, velz = 0, velq = 0;
public Keylistener() {
t.start();
addKeyListener((KeyListener) this);
setFocusable(true);
setFocusTraversalKeysEnabled(false);
}
public final void paint(final Graphics g) {
int h = getWidth();
int ö = getHeight();{
for (int x = 0; x < h; ++x) {
for (int y = 0; y < ö; ++y) {
super.paint(g);
Graphics2D g2 = (Graphics2D)g;
g2.fillRect(x * 10 + x,
y * 10 + y, 10,
10);
}}
final int l = 40;
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
g2.fill(new Ellipse2D.Double(x, y, l, l));
g2.fill(new Ellipse2D.Double(z, q, l, l));
}
/**
* @param e
* ActionEvent e
* @Override
*/
public final void actionPerformed(final ActionEvent e) {
repaint();
x += velx;
y += vely;
repaint();
z += velz;
q += velq;
}
private final double m = -1.5;
private final double n = 1.5;
public final void up() {
vely = m;
velx = 0;
}
public final void down() {
vely = n;
velx = 0;
}
public final void left() {
velx = m;
vely = 0;
}
public final void right() {
velx = n;
vely = 0;
}
public final void up2() {
velq = m;
velz = 0;
}
public final void down2() {
velq = n;
velz = 0;
}
public final void left2() {
velz = m;
velq = 0;
}
public final void right2() {
velz = n;
velq = 0;
}
/**
* @param e
* KeyEvent e
* @Override
*/
public final void keyPressed(final KeyEvent e) {
int code = e.getKeyCode();
if (code == KeyEvent.VK_UP) {
up2();
}
if (code == KeyEvent.VK_DOWN) {
down2();
}
if (code == KeyEvent.VK_RIGHT) {
right2();
}
if (code == KeyEvent.VK_LEFT) {
left2();
}
if (code == KeyEvent.VK_W) {
up();
}
if (code == KeyEvent.VK_S) {
down();
}
if (code == KeyEvent.VK_D) {
right();
}
if (code == KeyEvent.VK_A) {
left();
}
}
/**
* @param e
* KeyEvent e
* @Override
*/
public final void keyTyped(final KeyEvent e) {
}
/**
* @param e
* KeyEvent e
* @Override
*/
public final void keyReleased(final KeyEvent e) {
}
}