![]() |
EOS 2
1.1.0
Einfache Objektbasierte Sprache
|
Form. Mehr ...
Öffentliche Methoden | |
Point | getCenter () |
void | setSprite (Sprite sprite) |
Integer | getID () |
Sprite | getSprite () |
void | setAngle (double angle) |
double | getAngle () |
void | rotate (double angle) |
double | getLeft () |
double | getRight () |
double | getBottom () |
double | getTop () |
double | getWidth () |
double | getHeight () |
int | compareTo (Shape o) |
boolean | contains (Point p) |
boolean | intersects (Shape b) |
double | distance (Shape b) |
abstract boolean | contains (double x, double y) |
final double | getDistance (Point p) |
abstract double | getDistance (double x, double y) |
double | getX () |
double | getY () |
void | moveTo (double x, double y) |
void | moveTo (Point p) |
void | move (double dX, double dY) |
void | move (Vector v) |
void | move (double length) |
String | toString () |
abstract void | draw (Picture picture) |
Geschützte Methoden | |
Shape () | |
abstract Types | getOutlineType () |
abstract void | positionChanged () |
abstract void | angleChanged () |
Geschützte Attribute | |
double | left |
Linke Grenze. Mehr ... | |
double | bottom |
Untere Grenze. Mehr ... | |
double | right |
Rechte Grenze. Mehr ... | |
double | top |
Obere Grenze. Mehr ... | |
double | angle |
Drehwinkel. Mehr ... | |
Point | p |
Ort. Mehr ... | |
Integer | id |
ID des zugehörigen Weltobjekts. Mehr ... | |
Sprite | sprite |
Zugehöriges Weltobjekt. Mehr ... | |
Form.
Formen haben mehrere Aufgaben:
Die Methode Picture#drawShape(Shape) zeichnet eine Form.
Formen in diesem Paket kennen sich untereinander und es ist für jedes Paar ein Abstands und Entfernungsalgorithmus implementiert. Außerdem kann jede Form durch contains(de.lathanda.eos.base.math.Point) prüfen, ob ein Punkt innerhalb liegt.
Über de.lathanda.eos.base.math.Point#move(Vector) kann eine Form bewegt werden, alle Formen können auch als Punkte de.lathanda.eos.base.math.Point verwendet werden. Über die Methode setAngle(double), getAngle(), rotate(double) kann eine Form gedreht werden. {double} kann die Form in diese Richtung bewegen. 0° sind in Richtung (1,0) also nach rechts.
Definiert in Zeile 38 der Datei Shape.java.
|
protected |
neue Form
Definiert in Zeile 76 der Datei Shape.java.
|
abstractprotected |
Wird aufgerufen wenn sich der Winkel geändert hat.
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup, de.lathanda.eos.game.geom.Polygon, de.lathanda.eos.game.geom.Dot und de.lathanda.eos.game.geom.Circle.
int de.lathanda.eos.game.geom.Shape.compareTo | ( | Shape | o | ) |
Vergleicht zwei Formen anhand der ID des Sprites, erlaubt es Formen in Bäumen zu organisieren.
Definiert in Zeile 203 der Datei Shape.java.
|
abstract |
Ermittelt ob der Punkt (x,y) innerhalb der Form liegt.
x | x Koordinate |
y | y Koordinate |
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup, de.lathanda.eos.game.geom.Polygon, de.lathanda.eos.game.geom.Dot und de.lathanda.eos.game.geom.Circle.
boolean de.lathanda.eos.game.geom.Shape.contains | ( | Point | p | ) |
Prüft ob ein Punkt innerhalb der Form liegt.
p | Punkt |
Erneute Implementation in de.lathanda.eos.game.geom.Circle.
Definiert in Zeile 213 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.distance | ( | Shape | b | ) |
Berechnet den Abstand zwischen zwei Formen. Negativ bedeutet die beiden Formen überlappen. Distance#distance(Shape, Shape)
b | Zweite Form |
Definiert in Zeile 235 der Datei Shape.java.
|
abstract |
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup, de.lathanda.eos.game.geom.Polygon, de.lathanda.eos.game.geom.Dot und de.lathanda.eos.game.geom.Circle.
double de.lathanda.eos.game.geom.Shape.getAngle | ( | ) |
Frägt den Drehwinkel ab
Definiert in Zeile 129 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.getBottom | ( | ) |
Liefert die Obere Grenze
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.
Definiert in Zeile 167 der Datei Shape.java.
Point de.lathanda.eos.game.geom.Shape.getCenter | ( | ) |
Liefert das Rotationszentrum der Form. In der Regel ist dies die Mitte.
Definiert in Zeile 82 der Datei Shape.java.
|
abstract |
Ermittelt den Abstand zwischen dem Punkt (x,y) und der Form.
x | x Koordinate |
y | y Koordinate |
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup, de.lathanda.eos.game.geom.Polygon, de.lathanda.eos.game.geom.Dot und de.lathanda.eos.game.geom.Circle.
final double de.lathanda.eos.game.geom.Shape.getDistance | ( | Point | p | ) |
Ermittelt den Abstand zwischen dem Punkt p und der Form.
p | Punkt |
Definiert in Zeile 254 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.getHeight | ( | ) |
Gibt die Höhe des umgebenden Rechtecks der Form zurück
Definiert in Zeile 194 der Datei Shape.java.
Integer de.lathanda.eos.game.geom.Shape.getID | ( | ) |
Liefert die ID des zugehörigen Sprites
Definiert in Zeile 101 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.getLeft | ( | ) |
Liefert die linke Grenze
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.
Definiert in Zeile 149 der Datei Shape.java.
|
abstractprotected |
Art der Form, für die Auswahl der Algorithmen
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup, de.lathanda.eos.game.geom.Rectangle, de.lathanda.eos.game.geom.Polygon, de.lathanda.eos.game.geom.Dot und de.lathanda.eos.game.geom.Circle.
double de.lathanda.eos.game.geom.Shape.getRight | ( | ) |
Liefert die rechte Grenze
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.
Definiert in Zeile 158 der Datei Shape.java.
Sprite de.lathanda.eos.game.geom.Shape.getSprite | ( | ) |
double de.lathanda.eos.game.geom.Shape.getTop | ( | ) |
Liefert die untere Grenze
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.
Definiert in Zeile 176 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.getWidth | ( | ) |
Gibt die Breite des umgebenden Rechtecks der Form zurück
Definiert in Zeile 185 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.getX | ( | ) |
Definiert in Zeile 277 der Datei Shape.java.
double de.lathanda.eos.game.geom.Shape.getY | ( | ) |
Definiert in Zeile 284 der Datei Shape.java.
boolean de.lathanda.eos.game.geom.Shape.intersects | ( | Shape | b | ) |
Testet ob diese Form mit der Form b überlappt. Intersection#intersects(Shape, Shape)
b | Zweite Form |
Definiert in Zeile 224 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.move | ( | double | dX, |
double | dY | ||
) |
Definiert in Zeile 307 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.move | ( | double | length | ) |
Bewegt die Form nach Vorne. Vorne wird durch den Winkel festgelegt.
length | Bewegungsweite |
Definiert in Zeile 325 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.move | ( | Vector | v | ) |
Definiert in Zeile 315 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.moveTo | ( | double | x, |
double | y | ||
) |
Definiert in Zeile 291 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.moveTo | ( | Point | p | ) |
Definiert in Zeile 299 der Datei Shape.java.
|
abstractprotected |
Wird aufgerufen, wenn sich die Position verändert hat.
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup, de.lathanda.eos.game.geom.Polygon, de.lathanda.eos.game.geom.Dot und de.lathanda.eos.game.geom.Circle.
void de.lathanda.eos.game.geom.Shape.rotate | ( | double | angle | ) |
Dreht die Form. Um zu vermeiden, dass sich Rundungsfehler ansammeln sollte setAngle(double) benutzt werden.
angle | Winkeländerung |
Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.
Definiert in Zeile 139 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.setAngle | ( | double | angle | ) |
Setzt den Drehwinkel
angle | Drehwinkel in Bogenmaß |
Definiert in Zeile 119 der Datei Shape.java.
void de.lathanda.eos.game.geom.Shape.setSprite | ( | Sprite | sprite | ) |
Setzt den Sprite, diese Methode wir implizit durch die Kollisionserkennung gesetzt.
sprite | Sprite |
Definiert in Zeile 91 der Datei Shape.java.
String de.lathanda.eos.game.geom.Shape.toString | ( | ) |
|
protected |
Drehwinkel.
Definiert in Zeile 59 der Datei Shape.java.
|
protected |
Untere Grenze.
Definiert in Zeile 47 der Datei Shape.java.
|
protected |
ID des zugehörigen Weltobjekts.
Definiert in Zeile 67 der Datei Shape.java.
|
protected |
Linke Grenze.
Definiert in Zeile 43 der Datei Shape.java.
|
protected |
Ort.
Definiert in Zeile 63 der Datei Shape.java.
|
protected |
Rechte Grenze.
Definiert in Zeile 51 der Datei Shape.java.
|
protected |
Zugehöriges Weltobjekt.
Definiert in Zeile 71 der Datei Shape.java.
|
protected |
Obere Grenze.
Definiert in Zeile 55 der Datei Shape.java.