Hallo,
Ich habe hier ein Programm, welches völlig funktionstüchtig funktioniert. Es soll vorerst einen Ball laden und den dann senkrecht bewegen.
Ich habe jedoch den Abschnitt ab der Zeile 24 in der Main-Klasse nicht ganz verstanden und ist mir immernoch ein Rätsel ???:L
Danke im Voraus
Main-Klasse
Das Fenster
Der Ball
Ich habe hier ein Programm, welches völlig funktionstüchtig funktioniert. Es soll vorerst einen Ball laden und den dann senkrecht bewegen.
Ich habe jedoch den Abschnitt ab der Zeile 24 in der Main-Klasse nicht ganz verstanden und ist mir immernoch ein Rätsel ???:L
Danke im Voraus
Main-Klasse
Java:
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) {
BufferedImage bimg_aussehen = null
try {
bimg_aussehen = ImageIO.read(Main.class.getClassLoader()
.getResourceAsStream("metalball.png"));
} catch (IOException e) {
e.printStackTrace();
}
Ball b = new Ball(bimg_aussehen, 0, 0, 40, 50);
Frame f = new Frame(b);
long lastFrame = System.currentTimeMillis();
while (true) {
long thisFrame = System.currentTimeMillis();
float timeSinceLastFrame = (float) (thisFrame
float timeSinceLastFrame = (float) (thisFrame - lastFrame) / 1000;
lastFrame = thisFrame;
b.update(timeSinceLastFrame);
f.s.repaint();
try {
Thread.sleep(15);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Das Fenster
Java:
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Frame extends JFrame {
Ball b;
Screen s;
public Frame(Ball b) {
super("Bouncing");
this.b = b;
setLayout(null);
s = new Screen();
s.setBounds(0, 0, 500, 500);
add(s);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(800, 540);
setVisible(true);
setResizable(false);
}
public class Screen extends JLabel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(b.bimg_aussehen, (int) b.f_posX, (int) b.f_posY, null);
}
}
}
Der Ball
Java:
import java.awt.image.BufferedImage;
public class Ball {
BufferedImage bimg_aussehen;
float f_posX;
float f_posY;
float f_speedX;
float f_speedY;
public Ball(BufferedImage bimg_aussehen, float f_posX, float f_posY,
float f_speedX, float f_speedY) {
this.bimg_aussehen = bimg_aussehen;
this.f_posX = f_posX;
this.f_posY = f_posY;