Ich bin jetzt soweit das meine Figur Laufen kann und Springen kann. Nun habe ich das Problem das ich möchte das wenn die Figur nach Links läuft, auch nach Links schaut. Nur da ich ziemlich neu bin hätte ich keine Idee wo ich anfangen sollte.
Ich möchte nicht das mir irgendjemand einen ganzen Code schreibt wobei ich nichts lerne, sondern ich bräuchte nur eine kleine Hilfe, wie ich es machen kann.
Mein aktueller Quellcode:
Ich möchte nicht das mir irgendjemand einen ganzen Code schreibt wobei ich nichts lerne, sondern ich bräuchte nur eine kleine Hilfe, wie ich es machen kann.
Mein aktueller Quellcode:
Java:
package frame;
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.JPanel;
import javax.swing.ImageIcon;
import javax.swing.Timer;
public class gui extends JPanel implements ActionListener{
int figur_y = 0;
Timer time;
Image img;
Image img2;
Image img3;
int X_Bild;
int nx,nx2;
int anzahl = 0;
int anzahl2 = 0;
int key;
int lauf;
int left = -200;
int right = -200;
public gui(){
addKeyListener(new AL());
nx = 0;
nx2 = 480;
key = 0;
lauf = 0;
setFocusable(true);
ImageIcon u = new ImageIcon((getClass().getResource("Background.jpg")));
img = u.getImage();
ImageIcon c1 = new ImageIcon((getClass().getResource("Character 1.png")));
img2 = c1.getImage();
time = new Timer(5,this);
time.start();
Sprung sprung = new Sprung();
}
public void actionPerformed(ActionEvent e){
bewegen();
figur_y = Sprung.sprungposition;
repaint();
}
public void paint(Graphics g){
super.paint(g);
Graphics2D f2 = (Graphics2D)g;
if(getX_Bild() == 0 + (anzahl *50)){
anzahl += 1;
nx = 500;
}
if(getX_Bild() == 100 + (anzahl2 *100)){
anzahl2 += 1;
nx2 = 0;
}
if(getX_Bild() >= 100){
f2.drawImage(img,200+nx,0,null);
}
f2.drawImage(img,480-nx2,0,null);
f2.drawImage(img2,left,figur_y,null);
}
private int getX_Bild() {
return X_Bild;
}
public void bewegen(){
if(lauf != -1){
if(left + lauf <=40000){
left += lauf;
}else {
X_Bild += lauf;
nx += lauf;
nx2 += lauf;
}
}else {
if(left + lauf > -340){
left += lauf;
lauf = -1;
}
}
if(lauf != -1){
if(left - lauf > 700){
lauf = -1;
}
}
}
private class AL extends KeyAdapter{
public AL(){
}
public void keyReleased(KeyEvent e){
key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT){
lauf = 0;
}
}
public void keyPressed(KeyEvent e){
key = e.getKeyCode();
if(key == KeyEvent.VK_RIGHT){
lauf = 1;
}
if(key == KeyEvent.VK_LEFT){
lauf = -1;
}
if(key == KeyEvent.VK_SPACE){
if(Sprung.fertig == true)
Sprung();
}
}
}
public void Sprung(){
Sprung SprungAnimation = new Sprung();
SprungAnimation.start();
}
}