Rightclickz
Grünschnabel
Hallo zusammen,
ich bin noch recht frisch bei Java und komme gerade nicht weiter.
Ich versuch mich gerade an einem Jump N Run und möchte gerade die Bewegung in einer anderen Klasse als die gui haben in der das Hintergrundbild sich mitbewegen soll.
Diese Klasse wollte ich jetzt aufteilen:
In diese:
und die 2te in der ich die Tastenanschläge aufnehme:
Ich hab mir einige Sachen durchgelesen aber das mit dem übertragen hat alles nicht geklappt.
Hoffe auf Hilfe
Gruß Rightclickz
ich bin noch recht frisch bei Java und komme gerade nicht weiter.
Ich versuch mich gerade an einem Jump N Run und möchte gerade die Bewegung in einer anderen Klasse als die gui haben in der das Hintergrundbild sich mitbewegen soll.
Diese Klasse wollte ich jetzt aufteilen:
Java:
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;
@SuppressWarnings("serial")
public class gui extends JPanel implements ActionListener {
Timer time;
Image img;
int key;
int x_background;
int scroll = new move().move;
public gui() {
key = 0;
scroll = 0;
setFocusable(true);
ImageIcon bg = new ImageIcon("src/img/background.png");
img = bg.getImage();
addKeyListener(new ActionListener());
time = new Timer(5,this);
time.start();
}
public void actionPerformed(ActionEvent e) {
move();
repaint();
}
public void paint(Graphics g){
super.paint(g);
Graphics2D f2 = (Graphics2D)g;
if (x_background <= -1077) {
x_background += 1077;
}
f2.drawImage(img, x_background, 0, null);
f2.drawImage(img, x_background + 1077, 0, null);
if (x_background >= -1077) {
x_background -= 1077;
}
System.out.println(x_background);
}
public void move() {
x_background += scroll;
}
private class ActionListener extends KeyAdapter{
public ActionListener() {
}
public void keyPressed(KeyEvent e) {
key = e.getKeyCode();
if (key == KeyEvent.VK_LEFT) {
scroll = 2;
}
if (key == KeyEvent.VK_RIGHT) {
scroll = -2;
}
}
public void keyReleased(KeyEvent e) {
key = e.getKeyCode();
if ((key == KeyEvent.VK_LEFT) || (key == KeyEvent.VK_RIGHT)) {
scroll = 0;
}
}
}
}
In diese:
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.Timer;
@SuppressWarnings("serial")
public class gui extends JPanel implements ActionListener {
Timer time;
Image img;
int key;
int x_background;
int scroll = new move.scroll();
public gui() {
key = 0;
scroll = 0;
setFocusable(true);
ImageIcon bg = new ImageIcon("src/img/background.png");
img = bg.getImage();
time = new Timer(5,this);
time.start();
}
public void actionPerformed(ActionEvent e) {
move();
repaint();
}
public void paint(Graphics g){
super.paint(g);
Graphics2D f2 = (Graphics2D)g;
if (x_background <= -1077) {
x_background += 1077;
}
f2.drawImage(img, x_background, 0, null);
f2.drawImage(img, x_background + 1077, 0, null);
if (x_background >= -1077) {
x_background -= 1077;
}
System.out.println(x_background);
}
public void move() {
x_background += scroll; /* Hier will ich die Variable Scroll aus der anderen Klasse bekommen*/
}
}
und die 2te in der ich die Tastenanschläge aufnehme:
Java:
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class move extends KeyAdapter {
int key;
int move;
public void keyPressed(KeyEvent e) {
key = e.getKeyCode();
if (key == KeyEvent.VK_LEFT) {
move = 2;
}
if (key == KeyEvent.VK_RIGHT) {
move = -2;
}
}
public void keyReleased(KeyEvent e) {
key = e.getKeyCode();
if ((key == KeyEvent.VK_LEFT) || (key == KeyEvent.VK_RIGHT)) {
move = 0;
}
}
public int scroll() {
return move;
}
}
Ich hab mir einige Sachen durchgelesen aber das mit dem übertragen hat alles nicht geklappt.
Hoffe auf Hilfe
Gruß Rightclickz