hallo,
Ich bin ein ziemlicher Anfänger in der Programmierung und hebe nach einem Tutorial von JaDaHB1
nachprogrammiert: /Ein Spiel in Java programmieren - die Bewegung/ Animation #2 [04] (HD+) - YouTube
Doch nun mein Problem. Mein hintergrund bewegt sich irgendwie nicht und ich habe keine Ahnung warum (Das Tutorial ist etwas älter). Ich habe auch kleine Textausgaben gemacht, doch das Programm kommt nicht in KeyPressed rein! Hier ist mein Programm:
und das Zweite:
???:L
Ich bin ein ziemlicher Anfänger in der Programmierung und hebe nach einem Tutorial von JaDaHB1
nachprogrammiert: /Ein Spiel in Java programmieren - die Bewegung/ Animation #2 [04] (HD+) - YouTube
Doch nun mein Problem. Mein hintergrund bewegt sich irgendwie nicht und ich habe keine Ahnung warum (Das Tutorial ist etwas älter). Ich habe auch kleine Textausgaben gemacht, doch das Programm kommt nicht in KeyPressed rein! Hier ist mein Programm:
Java:
package Benedikt.de.Spiel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class frame extends JFrame implements ActionListener{
private JButton schliessen;
private JButton einstellung;
private JButton info;
private JButton ende;
public static void main(String[] args)
{
frame frame = new frame ("Menü");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setLayout(null) ;
frame.setVisible(true);
}
public frame(String title) {
super(title);
schliessen = new JButton("Spiel Starten");
schliessen.setBounds(120,40,160,40);
schliessen.addActionListener(this);
add(schliessen);
einstellung = new JButton("Einstellungen");
einstellung.setBounds(120,120,160,40);
einstellung.addActionListener(this);
add(einstellung);
info = new JButton("Credits");
info.setBounds(120,200,160,40);
info.addActionListener(this);
add(info);
ende = new JButton("Ende");
ende.setBounds(120,280,160,40);
ende.addActionListener(this);
add(ende);
}
public static void fenster(){
System.out.println("fenster entered");
JFrame fenster = new JFrame("Game");
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setSize(650,350);
fenster.setVisible(true);
fenster.add(new gui());
}
//public static void auswahl() {
//}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == schliessen ){
fenster();
}
if (e.getSource() == info){
Object[] options = {"Schliessen"};
JOptionPane.showOptionDialog(null,"Programmiert von Benedikt, dem besten Programmierer","Information",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
}
if(e.getSource() == einstellung) {
//auswahl();
}
if(e.getSource() == ende) {
System.exit(0);
}
}
}
und das Zweite:
Java:
package Benedikt.de.Spiel;
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;
int key;
int X_Bild;
int lauf;
public gui(){
System.out.println("gui entered");
key = 0;
lauf = 0;
setFocusable(true);
ImageIcon u = new ImageIcon ("C://Users/Benedikt/Desktop/a1512.jpg");
img = u.getImage();
addKeyListener(new AL());
time = new Timer(5,this);
System.out.println("time:" +time);
time.start();
System.out.println("Hab gestartet");
}
public void actionPerformed(ActionEvent e) {
bewegen();
repaint();
}
public void paint(Graphics g){
super.paint(g);
Graphics2D f2 =(Graphics2D)g;
f2.drawImage(img,X_Bild,0,null);
System.out.println("hab repainted");
}
public void bewegen(){
X_Bild += lauf;
}
private class AL extends KeyAdapter{
public AL(){
System.out.println("AL entered");
}
}
public void keyPressed(KeyEvent e){
key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT){
lauf = +1;
}
if(key == KeyEvent.VK_RIGHT){
System.out.println("Ich habs erkannt");
lauf = -1;
}
}
public void keyReleased(KeyEvent e){
key = e.getKeyCode() ;
if (key == KeyEvent.VK_LEFT || key == KeyEvent.VK_RIGHT) {
lauf = 0;
}
}
}
???:L