This site requires JavaScript, please enable it in your browser!
Greenfoot back
Cocky
Cocky wrote ...

2012/9/7

Ich weiß nicht

1
2
Cocky Cocky

2012/9/7

#
ich weiß nicht wie ich Objekte verschwinden lassen kann in Actor. Bitte helfen.
Gevater_Tod4711 Gevater_Tod4711

2012/9/7

#
Man im ernst die Seite hier solltest du echt ma ausprobieren. Aber egal: was genau meinst du mit Objecte verschwinden lassen? Sollen die aus der Welt gelöscht werden oder einfach nur nicht zu sehen sein? Wenn die gelöscht werden sollen brauchst du zuerst eine referenz auf das Objekt: Wenn du dem objekt sagen willst das es sich selbst zerstören soll versuch das:
1
getWorld().removeObject(this);
Wenn du einem Actor sagst das er ein objekt zerstören soll wenn er es gefunden hat benutzt du das:
1
2
3
4
Actor actor = getOneObjectAtOffset(Classenname.class);
if (actor != null) {
    getWorld().removeObject(actor);
}
Wenn du einen Actor zerstören willst den du nicht mit nem anderen Actor gefunden hast is das etwas komplizierter:
1
2
3
4
5
6
import java.util.List;
...
List<Classenname> liste = getWorld().getObjects(Classenname.class);
if (liste.size() > 0) {
    getWorld().removeObject(liste.get(0)); //du solltest aber vorher sicher sein das du das richtige Object zerstörst; Es gibt auch noch andere Methoden um an die referenzen zu kommen. Guck am besten in ner API nach. (Die methode hier zerstört einfach das erste object der classe die sie findet);
}
wenn du nur wilst das das object kurz unsichtbar ist verwendest du am besten das:
1
2
3
4
5
6
7
8
GreenfootImage image = getImage();
 
getImage().clear(); // macht das bild transperent;
 
...
 
getImage().scale(image.getWidth(), image.getHeight());
getImage().drawImage(image, 0, 0); // wenn das object wieder sichtbar werden soll
oder einfach
1
getImage().setTransperency(0);
SPower SPower

2012/9/7

#
Looking at the last big piece of code (starting with getImage().clear()), that will clear the image forever. This is why:
1
GreenfootImage image = getImage();
creates a reference to the current image at that point. That means that when you draw on it lets say:
1
image.fillRect(...);
You'll see that change immediately. So this:
1
etImage().drawImage(image, 00);
will draw an empty image and this:
1
getImage().scale(image.getWidth(), image.getHeight());
would have no effect: since getImage() and image (in this line at least) are the same object. But anyway, the seconds option (using setTransparency) would work.
Gevater_Tod4711 Gevater_Tod4711

2012/9/7

#
@SPower Oh yes thank you. I didn't think of that problem. So better use the second option Or in German: Verwende besser getImage().setTransperency(0). Die andere methode wird warscheinlich nicht funktuinieren.
Cocky Cocky

2012/9/8

#
woher wisst ihr das alles?
Gevater_Tod4711 Gevater_Tod4711

2012/9/8

#
naja wenn man länger mit dem Programm arbeitet weiß man irgentwan recht viel darüber. Un so altmodische dinger namens Bücher können auch ganz hilfreich sein.
Cocky Cocky

2012/9/8

#
ja ich habe auch ein buch, aber da steht es nicht drinen.
Gevater_Tod4711 Gevater_Tod4711

2012/9/8

#
solche dinge über greenfoot wirst du auch warscheinlich nicht in nem Buch über Java finden. Die muss du in der API nachlesen oder in Codes von anderen hier auf der Webside.
Cocky Cocky

2012/9/8

#
aber wenn ich es anklicke geht das andere nicht weg.
Cocky Cocky

2012/9/8

#
die API ist aber auf Englisch :(
Gevater_Tod4711 Gevater_Tod4711

2012/9/8

#
sorry ich versteh grad nit was du damit meinst
Cocky Cocky

2012/9/8

#
ich will ein Menü erstellen, aber wenn ich auf Start klicke geht Options nicht mitweg um das Spiel zu starten.
Gevater_Tod4711 Gevater_Tod4711

2012/9/8

#
achso ja aber es gibt auch eine auf Deutsch: http://www.greenfoot-center.de/doc/javadoc/index.html Die Webside greenfoot-center.de is komplet auf deutsch
Gevater_Tod4711 Gevater_Tod4711

2012/9/8

#
Ich versteh leider immernoch nicht was das problem mit dem menü ist. Ein bisschen Quellcode könnte weiter helfen.
Cocky Cocky

2012/9/8

#
ich will ein Menü erstellen, aber wenn ich auf Start klicke geht Options nicht mitweg um das Spiel zu starten.
There are more replies on the next page.
1
2