java.lang.ObjectActor
public abstract class Actor
Ein Actor ("Akteur") ist ein Objekt, welches in der Greenfoot-Welt existiert.
Jeder Actor hat in der Welt eine Position (x und y Koordinate) und eine Darstellung in Form eines Bildes.
Von der Klasse Actor kann kein Objekt erstellt werden. Sie dient als abstrakte Oberklasse, von der speziellere Unterklassen abgeleitet werden können. Jedes Objekt, welches in der Welt erscheinen soll, muss von dieser Actorklasse abgeleitet werden. Die Unterklassen können ihre eigene Erscheinung und ihr Verhalten dann selber festlegen.
Die wichtigste Eigenschaft dieser Klasse ist die act Methode. Diese Methode wird automatisch aufgerufen, wenn in der Greenfoot-Entwicklungsumgebung der Button "Act" oder "Run" gedrückt wird.
Die act Methode ist zunächst leer und hat daher keine Auswirkungen. Sie sollte aber in Unterklassen überschrieben werden, um die Aktionen des Objektes zu implementieren.
| Constructor Summary | |
|---|---|
Actor()
Erzeugt einen Akteur. |
|
| Method Summary | |
|---|---|
void |
act()
Die act Methode wird von der Greenfoot-Entwicklungsumgebung aufgerufen, um Objekten die Möglichkeit zu geben, eine Aktion auszuführen. |
protected void |
addedToWorld(World world)
Die Methode wird von der Greenfoot-Entwicklungsumgebung aufgerufen, sobald das Objekt in die Welt hinzugefügt wurde. |
GreenfootImage |
getImage()
Gibt das Bild zurück mit dem der Akteur dargestellt wird. |
protected List |
getIntersectingObjects(Class cls)
Gibt alle Objekte zurück, mit denen sich das Objekt überschneidet. |
protected List |
getNeighbours(int distance,
boolean diagonal,
Class cls)
Gibt die Nachbarn des Objekts innerhalb einer angegebenen Entfernung zurück. |
protected List |
getObjectsAtOffset(int dx,
int dy,
Class cls)
Gibt alle Objekte zurück, die an einer Position liegen (relativ zu der Position des Objektes). |
protected List |
getObjectsInRange(int r,
Class cls)
Gibt alle Objekte innerhalb der Reichweite "r" um das Objekt herum zurück. |
protected Actor |
getOneIntersectingObject(Class cls)
Gibt ein Objekt zurück, mit denen sich das Objekt überschneidet. |
protected Actor |
getOneObjectAtOffset(int dx,
int dy,
Class cls)
Gibt ein Objekt zurück, das an einer Position liegt (relativ zu der Position des Objekts). |
int |
getRotation()
Gibt die aktuelle Drehausrichtung des Objektes zurück. |
World |
getWorld()
Gibt eine Referenz auf das Weltobjekt zurück, in der sich das Objekt befindet. |
int |
getX()
Gibt die x-Koordinate der aktuellen Position des Objektes zurück. |
int |
getY()
Gibt die y-Koordinate der aktuellen Position des Objektes zurück. |
protected boolean |
intersects(Actor other)
Überprüft, ob sich das Objekt mit einem anderen übergebenen Objekt überschneidet. |
void |
setImage(GreenfootImage image)
Setzt das Bild für das Objekt auf das angegebenes Bild. |
void |
setImage(String filename)
Setzt das Bild für den Akteur. |
void |
setLocation(int x,
int y)
Setzt das Objekt auf eine neue Position. |
void |
setRotation(int rotation)
Setzt die Drehausrichtung des Objektes. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Actor()
| Method Detail |
|---|
public void act()
act Methode wird von der Greenfoot-Entwicklungsumgebung aufgerufen, um Objekten die Möglichkeit zu geben, eine Aktion auszuführen. Bei jedem Aktionsschritt der Greenfoot-Entwicklungsumgebung wird die jeweilige act Methode jedes Objekts aufgerufen. Die Reihenfolge der so abgearbeiteten Objekte ist nicht beeinflussbar.
Diese Methode ist zunächst leer und hat daher keine Auswirkungen. Sie sollte aber in Unterklassen überschrieben werden, um die Aktionen des Objektes zu implementieren.
protected void addedToWorld(World world)
world - Die Welt, in die das Objekt hinzugefügt wurde.public GreenfootImage getImage()
protected List getIntersectingObjects(Class cls)
cls - Klasse der Objekte, nach denen gesucht werden soll. (Übergabe von null bedeutet, nach allen Objekten zu suchen).
protected List getNeighbours(int distance,
boolean diagonal,
Class cls)
distance/diagonal in Form von (1, false) schaut in vier Zellen nach, (1, true) schaut in insgesamt acht Zellen nach.
distance - Entfernung (in Zellen), in denen nach Objekten gesucht werden soll.diagonal - Wenn true, wird auch diagonal gesucht.cls - Klasse von Objekten, nach denen gesucht werden soll. (Übergabe von null bedeutet, nach allen Objekten zu suchen).
protected List getObjectsAtOffset(int dx,
int dy,
Class cls)
dx - x-Koordinate relativ zu der Position des Objekts.dy - y-Koordinate relativ zu der Position des Objekts.cls - Klasse der Objekte, nach denen gesucht werden soll. (Übergabe von null bedeutet, nach allen Objekten zu suchen).
protected List getObjectsInRange(int r,
Class cls)
r entfernt ist.
r - Radius des Kreises in Zellen.cls - Klasse der Objekte, nach denen gesucht werden soll. (Übergabe von null bedeutet, nach allen Objekten zu suchen).protected Actor getOneIntersectingObject(Class cls)
cls - Klasse des Objektes, nach dem gesucht werden soll. (Übergabe von null bedeutet, nach allen Objekten zu suchen).
protected Actor getOneObjectAtOffset(int dx,
int dy,
Class cls)
dx - x-Koordinate relativ zu der Position des Objekts.dy - y-Koordinate relativ zu der Position des Objekts.cls - Klasse des Objektes, nach dem gesucht werden soll. (Übergabe von null bedeutet, nach allen Objekten zu suchen).
null, falls kein Objekt gefunden wurde.public int getRotation()
setRotation(int)public World getWorld()
public int getX()
IllegalStateException - Wenn der Actor noch nicht in die Welt eingefügt worden ist.public int getY()
IllegalStateException - Wenn der Actor noch nicht in die Welt eingefügt worden ist.protected boolean intersects(Actor other)
true, wenn Objekte sich überschneiden, andernfalls false.public void setImage(GreenfootImage image)
image - Das (Greenfoot) Bild.setImage(String)public void setImage(String filename)
filename - Der Name der Bilddatei.
IllegalArgumentException - Wenn das Bild nicht geladen werden konnte.
public void setLocation(int x,
int y)
super.setLocation(x, y) von der überschreibenden Methode aus aufzurufen.
x - Position auf der x-Achse.y - Position auf der y-Achse.
IllegalStateException - Falls das Objekt noch nicht in die Welt eingefügt worden ist.public void setRotation(int rotation)
Die - Drehrichtung in Grad.