# Mein Jump and Run charakter bewegt sich nicht mehr rückwärts...



## Karli007 (27. Apr 2021)

Meine Spiele Charakter bewegt sich nicht mehr rückwärts..
Das Ziel wäre es, dass er nur bis zum Bildschirmrand zurück geht aber unendlich geradeaus.
Kann mir jemand helfen?




*Code:*




```
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;


import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;

public class gui extends JPanel implements ActionListener {

    Timer time;
    Image img;
    Image img2;
    int key;
    int nx,nx2;
    int left = 0;
    int X_Bild;
    int lauf;
   
    int anzahl = 0;
    int anzahl2 = 0;
   
    public gui() {
       
        nx = 0;
        nx2 = 690;
       
        key = 0;
        lauf = 0;
       
        setFocusable(true);
       
        ImageIcon u = new ImageIcon ((getClass().getResource("Background.jpg")));
       
        img = u.getImage();
       
        ImageIcon s = new ImageIcon((getClass().getResource("Pumba.png")));
       
        img2 = s.getImage();
       
       
        addKeyListener(new AL());
       
       
        time = new Timer(5,this);
        time.start();
       
    }
   
    public void actionPerformed (ActionEvent e) {
        bewegen();
        repaint();
    }
    
    public void paint(Graphics g) {
       
        super.paint(g);
        Graphics2D f2 =(Graphics2D)g;
       
        if (getXBild() == 510+ (anzahl *2350)) {
            anzahl += 1;
            nx = 0;
           
        }
       
        if (getXBild() == 1690+(anzahl2*2350)) {
            anzahl2 += 1;
            nx2 = 0;
        }
        if (getXBild() >= 510 ) {
            f2.drawImage(img,685-nx,0,null);
        }
       
        f2.drawImage(img,685-nx2,0,null);
       
        f2.drawImage(img2,left,240, null);
       
    }
   
    private int getXBild() {
        // TODO Auto-generated method stub
        return X_Bild;
    }

    public void bewegen() {
       
        if(lauf != -2) {
           
            if (left + lauf <= 75) {
                left += lauf ;
               
            } else {
               
                X_Bild += lauf;
                nx += lauf;
                nx2 += lauf;
            }
        }else {
            if(left + lauf < 0) {
                left += lauf;
            }
        }
       
       
    }
   
   
    private class AL extends KeyAdapter {
       
       
        public AL() {
           
        }
       
        public void keyPressed(KeyEvent e) {
           
           
            key = e.getKeyCode();
           
            if(key == KeyEvent.VK_LEFT) {
                lauf = -2;
            }
           
            if(key == KeyEvent.VK_RIGHT) {
                lauf = 2;
            }
        }
       
        public void keyReleased(KeyEvent e) {
           
            key = e.getKeyCode();
               
            if(key == KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT) {
                lauf = 0;
            }
           
        }
       
       
       
       
       
    }
   
   
   
}
```


----------

