Hallo Leute!
Ich habe ein kleines Problem, nämlich, dass ich die Klasse in der ich das .drawImage() habe einfügen will.
Wie geht das, oder besser gesagt, geht das überhaupt?
Hier die zweite Klasse:
Ja ich benutze keine ArrayList oder ähnliches für move() in Level.
Und auch ja, ich bin ein Anfänger.
Sorry für den langen Post
javaman
Ich habe ein kleines Problem, nämlich, dass ich die Klasse in der ich das .drawImage() habe einfügen will.
Wie geht das, oder besser gesagt, geht das überhaupt?
Java:
package Game;
import javax.swing.*;
public class Frame {
public Frame(){
JFrame frame = new JFrame();
frame.add(new Level());
frame.setTitle("GotT");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(700,365);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
public static void main(String[] args){
new Frame();
}
}
Hier die zweite Klasse:
Java:
package Game;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Level implements ActionListener {
WorldGenerator2 g;
Keys k;
Timer t;
Image q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, q31, q32;
Image q33, q34, q35, q36, q37, q38, q39, q40, q41, q42, q43, q44, q45, q46, q47, q48, q49, q50, q51, q52, q53, q54, q55, q56, q57, q58, q59, q60;
int x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32;
int x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60;
int y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27, y28, y29, y30, y31, y32;
int y33, y34, y35, y36, y37, y38, y39, y40, y41, y42, y43, y44, y45, y46, y47, y48, y49, y50, y51, y52, y53, y54, y55, y56, y57, y58, y59, y60;
int dx = k.getdx();
int dy = k.getdy();
public void timer(){
t = new Timer(5, this);
}
public void geti()
{
q1 = g.getImage1();
q2 = g.getImage2();
q3 = g.getImage3();
q4 = g.getImage4();
q5 = g.getImage5();
q6 = g.getImage6();
q7 = g.getImage7();
q8 = g.getImage8();
q9 = g.getImage9();
q10 = g.getImage10();
//holt sich 60 Images aus einer anderen Klasse
}
public void x(){ //Definiert die x Koordinate
x1 = 300;
x2 = 200;
x3 = 400;
x4 = 300;
x5 = 300;
x6 = 400;
x7 = 500;
x8 = 500;
x9 = 400;
x10 = 500;
//auch wieder für 60 Bilder
}
public void y(){ //Definiert die y Koordinate
y1 = 300;
y2 = 300;
y3 = 400;
y4 = 400;
y5 = 500;
y6 = 400;
y7 = 200;
y8 = 300;
y9 = 500;
y10 = 400;
//immer noch 60 Bilder
}
public void move(){ //Macht es möglich, dass der Hintergrund sich bewegt
x1 = x1 + dx;
x2 = x2 + dx;
x3 = x3 + dx;
x4 = x4 + dx;
x5 = x5 + dx;
x6 = x6 + dx;
x7 = x7 + dx;
x8 = x8 + dx;
x9 = x9 + dx;
x10 = x10 + dx;
// das ganze + dx
y1 = y1 + dy;
y2 = y2 + dy;
y3 = y3 + dy;
y4 = y4 + dy;
y5 = y5 + dy;
y6 = y6 + dy;
y7 = y7 + dy;
y8 = y8 + dy;
y9 = y9 + dy;
y10 = y10 + dy;
//plus dy
}
public void paint(Graphics g2){
Graphics2D g2d = (Graphics2D) g2; //Sollte eigentlich alles am Bildschirm ausgeben
g2d.drawImage(q1, x1, y1, null);
g2d.drawImage(q2, x2, y2, null);
g2d.drawImage(q3, x3, y3, null);
g2d.drawImage(q4, x4, y4, null);
g2d.drawImage(q5, x5, y5, null);
g2d.drawImage(q6, x6, y6, null);
g2d.drawImage(q7, x7, y7, null);
g2d.drawImage(q8, x8, y8, null);
g2d.drawImage(q9, x9, y9, null);
g2d.drawImage(q10, x10, y10, null);
//und dann für alle Bilder g2d.drawImage
}
public void actionPerformed(ActionEvent arg0) { //Sorgt dafür, dass move und paint immer upgedated wird
paint();
move();
}
}
Und auch ja, ich bin ein Anfänger.
Sorry für den langen Post
javaman
Zuletzt bearbeitet von einem Moderator: