Hallo,
ich habe mal wieder drei kleiner Probleme. Ich habe ein Applet mit mehreren Bildern drinnen. Die Bilder sind animiert.
Es fährt quasi ein Auto von oben nach unteren.
Problem 1: Wie kann ich es machen, dass das auto komplett aus dem Bild verschwindet.
Und nicht ein Teil stehen bleibt. Ich habe innerhalb des Applet ein großes Bild. Quasi ein Hintergrund mit Straßen. Es soll nun so sein. Wenn die kleinen Bilder zb ein Auto, diesen Hintergrund verlässt. Soll es nicht mehr angezeigt werden!
Wie kann ich das realisieren
Problem 2: In der Paint Methode werden alle Bilder gezeichnet. Es sind also immer alle Bilder angezeigt. Wie kann ich es machen, dass ich Bilder wieder unsichtbar mache. Also sowas wie Visible(false) setzen!
Problem 3: Wie ist es möglich das Applet immer wieder neu zu starten? Das Auto fährt quasi einmal über den Bildschirm. Es soll aber unendlich oft fahren, bis das Fenster geschlossen wird. Wie ist das möglich?
Danke
und liebe Grüße,
LCV
Anbei einen Auszug aus meinem bisherigen Quelltext
ich habe mal wieder drei kleiner Probleme. Ich habe ein Applet mit mehreren Bildern drinnen. Die Bilder sind animiert.
Es fährt quasi ein Auto von oben nach unteren.
Problem 1: Wie kann ich es machen, dass das auto komplett aus dem Bild verschwindet.
Und nicht ein Teil stehen bleibt. Ich habe innerhalb des Applet ein großes Bild. Quasi ein Hintergrund mit Straßen. Es soll nun so sein. Wenn die kleinen Bilder zb ein Auto, diesen Hintergrund verlässt. Soll es nicht mehr angezeigt werden!
Wie kann ich das realisieren
Problem 2: In der Paint Methode werden alle Bilder gezeichnet. Es sind also immer alle Bilder angezeigt. Wie kann ich es machen, dass ich Bilder wieder unsichtbar mache. Also sowas wie Visible(false) setzen!
Problem 3: Wie ist es möglich das Applet immer wieder neu zu starten? Das Auto fährt quasi einmal über den Bildschirm. Es soll aber unendlich oft fahren, bis das Fenster geschlossen wird. Wie ist das möglich?
Danke
und liebe Grüße,
LCV
Anbei einen Auszug aus meinem bisherigen Quelltext
Java:
import java.awt.event.*;
import java.applet.Applet;
import java.util.EventListener;
import java.awt.*;
import javax.swing.*;
import java.util.Random;
import java.awt.*;
public class Zebrastreifen extends JApplet {
private Random zufallszahl;
Image bild;
Image auto;
Image auto2;
Image fussgaenger1;
Image fussgaenger2;
Image fussgaenger3;
int y = 550;
int k = 110;
int o = 160;
int x = 240;
int z = 90;
int e = 100;
int h = 650;
int i = 310;
int m = 310;
int n = 100;
@Override
public void init() {
bild = getImage(getCodeBase(), "bild.jpg");
auto = getImage(getCodeBase(), "auto.gif");
auto2 = getImage(getCodeBase(), "auto2.gif");
fussgaenger1 = getImage(getCodeBase(), "fussgaenger1.gif");
fussgaenger2 = getImage(getCodeBase(), "fussgaenger2.gif");
fussgaenger3 = getImage(getCodeBase(), "fussgaenger3.gif");
JRadioButton c1 = new JRadioButton("Keine Fussgänger", true);
JRadioButton c2;
c2 = new JRadioButton("Ein Fussgänger");
JRadioButton c3;
c3 = new JRadioButton("Zwei Fussgänger");
JRadioButton c4;
c4 = new JRadioButton("Zufällige Wiedergabe");
ButtonGroup bg = new ButtonGroup();
bg.add(c1);
bg.add(c2);
bg.add(c3);
bg.add(c4);
JPanel p = new JPanel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(bild, 5, 100, this);
g.drawImage(auto, x, y, this);
g.drawImage(auto2, o, k, this);
g.drawImage(fussgaenger1, z, e, this);
g.drawImage(fussgaenger2, i, h, this);
g.drawImage(fussgaenger3, m, n, this);
}
};
getContentPane().add(p);
p.add(c1);
p.add(c2);
p.add(c3);
p.add(c4);
p.setSize(50, 50);
p.setVisible(true);
if (c1.isSelected()) {
generator();
fussgaengereinsohnezebra();
fussgaengerzweiohnezebra();
fussgaengerdreiohnezebra();
} else if (c2.isSelected()) {
} else {
}
}
public void generator()
{
zufallszahl= new Random();
if (zufallszahl.nextInt()%2 == 0)
{
autofahrenoben();
}
else
{
autofahrenunten();
}
}
public void autofahrenunten() {
new Thread(new Runnable() {
public void run() {
while (y > 110) {
y = y - 1;
repaint();
try {
Thread.sleep(3);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
public void autofahrenoben() {
new Thread(new Runnable() {
public void run() {
while (k < 550) {
k = k + 1;
repaint();
try {
Thread.sleep(3);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
public void fussgaengereinsohnezebra() {
new Thread(new Runnable() {
public void run() {
while (e > 0) {
e = e + 1;
repaint();
try {
Thread.sleep(10);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
@Override
public String getAppletInfo() {
return "Title: Test \nAuthor: Test \n";
}
}
Zuletzt bearbeitet von einem Moderator: