Hallo, wie kann ich meine Figur springen lassen?
Hier mein Code:
package pack1;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class jump extends JPanel implements ActionListener, KeyListener{
Timer t = new Timer(5, this);
private static int x = 0, velX = 0, y = 390, velY = 0;
public jump() {
t.start();
addKeyListener(this);
setFocusable(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.red);
g.fillRect(x, y, 40, 40);
g.setColor(Color.green);
g.fillRect(0, 425, 500, 40);
}
public void actionPerformed(ActionEvent ae) {
x = x + velX;
y = y + velY;
repaint();
}
public void keyPressed(KeyEvent e) {
int c = e.getKeyCode();
if(c == KeyEvent.VK_RIGHT) {
velX = 3;
velY = 0;
}if(c == KeyEvent.VK_LEFT) {
velX = -3;
velY = 0;
}
}
public void keyReleased(KeyEvent e) {
int c = e.getKeyCode();
if(c == KeyEvent.VK_RIGHT) {
velX = 0;
velY = 0;
}
}
public void keyTyped(KeyEvent e) {
}
public static void main(String[] args) {
jump j = new jump();
JFrame f1 = new JFrame("Jump-and-run");
f1.add(j);
f1.setSize(500, 500);
f1.setVisible(true);
}
}
evtl. so ?:
public void key Pressed(KeyEvent e){
if(c == KeyEvent.VK_SPACE) {
velX = 0;
velY = 3;
}
}
public void keyReleased(KeyEvent e) {
if(c == KeyEvent.VK_SPACE) {
velX = 0;
velY = -3;
}
}