Ich versuche seit 3 Tagen ein Spiel zu Programmieren ohne jegliche Java kentnisse. Jetzt stehe ich vor dem Problem das ich es geschafft habe die Rechte Blockade zu erstellen, aber ich kriege es auf biegen und brechen nicht rechts hin. Also was ich genau will: Die Figur "img2" soll nicht zu rechten Seite raus, und auch nicht zu linken aus dem Bild raus, nur auf der Linken Seite habe ich es schon geschaff (Dont ask me how
)
Quellcode:
Ich weiß dort ist viel Crap usw. drin. Bitte verschont mich
bin komplett neu in der Szene. Würde mich über Hilfe sehr freuen
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{
Timer time;
Image img;
Image img2;
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();
}
public void actionPerformed(ActionEvent e){
bewegen();
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,0,null);
}
private int getX_Bild() {
return X_Bild;
}
public void bewegen(){
if(lauf != -1){
if(left + lauf <=5000){
left += lauf;
}else {
X_Bild += lauf;
nx += lauf;
nx2 += lauf;
}
}else {
if(left + lauf > -250){ //BLOCKADE DER Linken SEITE
left += lauf;
}
}
}
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;
}
}
}
}
Ich weiß dort ist viel Crap usw. drin. Bitte verschont mich
Zuletzt bearbeitet von einem Moderator: