EOS 2  1.1.0
Einfache Objektbasierte Sprache
Öffentliche Methoden | Geschützte Methoden | Geschützte Attribute | Aufstellung aller Elemente
de.lathanda.eos.game.geom.Shape Klassenreferenzabstract

Form. Mehr ...

Klassendiagramm für de.lathanda.eos.game.geom.Shape:
Inheritance graph
[Legende]

Ö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 ...
 

Ausführliche Beschreibung

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.

Autor
Lathanda

Definiert in Zeile 38 der Datei Shape.java.

Beschreibung der Konstruktoren und Destruktoren

◆ Shape()

de.lathanda.eos.game.geom.Shape.Shape ( )
protected

neue Form

Definiert in Zeile 76 der Datei Shape.java.

Dokumentation der Elementfunktionen

◆ angleChanged()

abstract void de.lathanda.eos.game.geom.Shape.angleChanged ( )
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.

◆ compareTo()

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.

◆ contains() [1/2]

abstract boolean de.lathanda.eos.game.geom.Shape.contains ( double  x,
double  y 
)
abstract

Ermittelt ob der Punkt (x,y) innerhalb der Form liegt.

Parameter
xx Koordinate
yy Koordinate
Rückgabe
wahr, wenn (x,y) innerhalb der Form liegt.

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.

◆ contains() [2/2]

boolean de.lathanda.eos.game.geom.Shape.contains ( Point  p)

Prüft ob ein Punkt innerhalb der Form liegt.

Parameter
pPunkt
Rückgabe
Wahr wenn der Punkt innerhalb der Form liegt

Erneute Implementation in de.lathanda.eos.game.geom.Circle.

Definiert in Zeile 213 der Datei Shape.java.

◆ distance()

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)

Parameter
bZweite Form
Rückgabe
Abstand zwischen beiden Formen

Definiert in Zeile 235 der Datei Shape.java.

◆ draw()

abstract void de.lathanda.eos.game.geom.Shape.draw ( Picture  picture)
abstract

◆ getAngle()

double de.lathanda.eos.game.geom.Shape.getAngle ( )

Frägt den Drehwinkel ab

Rückgabe
angle Drehwinkel im Bogenmaß

Definiert in Zeile 129 der Datei Shape.java.

◆ getBottom()

double de.lathanda.eos.game.geom.Shape.getBottom ( )

Liefert die Obere Grenze

Rückgabe
Obere Grenze

Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.

Definiert in Zeile 167 der Datei Shape.java.

◆ getCenter()

Point de.lathanda.eos.game.geom.Shape.getCenter ( )

Liefert das Rotationszentrum der Form. In der Regel ist dies die Mitte.

Rückgabe
Zentrum

Definiert in Zeile 82 der Datei Shape.java.

◆ getDistance() [1/2]

abstract double de.lathanda.eos.game.geom.Shape.getDistance ( double  x,
double  y 
)
abstract

Ermittelt den Abstand zwischen dem Punkt (x,y) und der Form.

Parameter
xx Koordinate
yy Koordinate
Rückgabe
Abstand zwischen der Form und dem Punkt (x,y)

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.

◆ getDistance() [2/2]

final double de.lathanda.eos.game.geom.Shape.getDistance ( Point  p)

Ermittelt den Abstand zwischen dem Punkt p und der Form.

Parameter
pPunkt
Rückgabe
Abstand zwischen Punkt und Form

Definiert in Zeile 254 der Datei Shape.java.

◆ getHeight()

double de.lathanda.eos.game.geom.Shape.getHeight ( )

Gibt die Höhe des umgebenden Rechtecks der Form zurück

Rückgabe
Höhe

Definiert in Zeile 194 der Datei Shape.java.

◆ getID()

Integer de.lathanda.eos.game.geom.Shape.getID ( )

Liefert die ID des zugehörigen Sprites

Rückgabe
ID des zugehörigen Sprites

Definiert in Zeile 101 der Datei Shape.java.

◆ getLeft()

double de.lathanda.eos.game.geom.Shape.getLeft ( )

Liefert die linke Grenze

Rückgabe
Linke Grenze

Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.

Definiert in Zeile 149 der Datei Shape.java.

◆ getOutlineType()

abstract Types de.lathanda.eos.game.geom.Shape.getOutlineType ( )
abstractprotected

◆ getRight()

double de.lathanda.eos.game.geom.Shape.getRight ( )

Liefert die rechte Grenze

Rückgabe
Rechte Grenze

Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.

Definiert in Zeile 158 der Datei Shape.java.

◆ getSprite()

Sprite de.lathanda.eos.game.geom.Shape.getSprite ( )

Liefert das zugehörige Weltobjekt

Rückgabe
Weltobjekt

Definiert in Zeile 110 der Datei Shape.java.

◆ getTop()

double de.lathanda.eos.game.geom.Shape.getTop ( )

Liefert die untere Grenze

Rückgabe
Untere Grenze

Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.

Definiert in Zeile 176 der Datei Shape.java.

◆ getWidth()

double de.lathanda.eos.game.geom.Shape.getWidth ( )

Gibt die Breite des umgebenden Rechtecks der Form zurück

Rückgabe
Breite

Definiert in Zeile 185 der Datei Shape.java.

◆ getX()

double de.lathanda.eos.game.geom.Shape.getX ( )

Definiert in Zeile 277 der Datei Shape.java.

◆ getY()

double de.lathanda.eos.game.geom.Shape.getY ( )

Definiert in Zeile 284 der Datei Shape.java.

◆ intersects()

boolean de.lathanda.eos.game.geom.Shape.intersects ( Shape  b)

Testet ob diese Form mit der Form b überlappt. Intersection#intersects(Shape, Shape)

Parameter
bZweite Form
Rückgabe
Wahr wenn beide Formen gemeinsame Punkte haben

Definiert in Zeile 224 der Datei Shape.java.

◆ move() [1/3]

void de.lathanda.eos.game.geom.Shape.move ( double  dX,
double  dY 
)

Definiert in Zeile 307 der Datei Shape.java.

◆ move() [2/3]

void de.lathanda.eos.game.geom.Shape.move ( double  length)

Bewegt die Form nach Vorne. Vorne wird durch den Winkel festgelegt.

Parameter
lengthBewegungsweite

Definiert in Zeile 325 der Datei Shape.java.

◆ move() [3/3]

void de.lathanda.eos.game.geom.Shape.move ( Vector  v)

Definiert in Zeile 315 der Datei Shape.java.

◆ moveTo() [1/2]

void de.lathanda.eos.game.geom.Shape.moveTo ( double  x,
double  y 
)

Definiert in Zeile 291 der Datei Shape.java.

◆ moveTo() [2/2]

void de.lathanda.eos.game.geom.Shape.moveTo ( Point  p)

Definiert in Zeile 299 der Datei Shape.java.

◆ positionChanged()

abstract void de.lathanda.eos.game.geom.Shape.positionChanged ( )
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.

◆ rotate()

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.

Parameter
angleWinkeländerung

Erneute Implementation in de.lathanda.eos.game.geom.ShapeGroup.

Definiert in Zeile 139 der Datei Shape.java.

◆ setAngle()

void de.lathanda.eos.game.geom.Shape.setAngle ( double  angle)

Setzt den Drehwinkel

Parameter
angleDrehwinkel in Bogenmaß

Definiert in Zeile 119 der Datei Shape.java.

◆ setSprite()

void de.lathanda.eos.game.geom.Shape.setSprite ( Sprite  sprite)

Setzt den Sprite, diese Methode wir implizit durch die Kollisionserkennung gesetzt.

Parameter
spriteSprite

Definiert in Zeile 91 der Datei Shape.java.

◆ toString()

String de.lathanda.eos.game.geom.Shape.toString ( )

Lesbare Darstellung der Form

Rückgabe
Information

Definiert in Zeile 345 der Datei Shape.java.

Dokumentation der Datenelemente

◆ angle

double de.lathanda.eos.game.geom.Shape.angle
protected

Drehwinkel.

Definiert in Zeile 59 der Datei Shape.java.

◆ bottom

double de.lathanda.eos.game.geom.Shape.bottom
protected

Untere Grenze.

Definiert in Zeile 47 der Datei Shape.java.

◆ id

Integer de.lathanda.eos.game.geom.Shape.id
protected

ID des zugehörigen Weltobjekts.

Definiert in Zeile 67 der Datei Shape.java.

◆ left

double de.lathanda.eos.game.geom.Shape.left
protected

Linke Grenze.

Definiert in Zeile 43 der Datei Shape.java.

◆ p

Point de.lathanda.eos.game.geom.Shape.p
protected

Ort.

Definiert in Zeile 63 der Datei Shape.java.

◆ right

double de.lathanda.eos.game.geom.Shape.right
protected

Rechte Grenze.

Definiert in Zeile 51 der Datei Shape.java.

◆ sprite

Sprite de.lathanda.eos.game.geom.Shape.sprite
protected

Zugehöriges Weltobjekt.

Definiert in Zeile 71 der Datei Shape.java.

◆ top

double de.lathanda.eos.game.geom.Shape.top
protected

Obere Grenze.

Definiert in Zeile 55 der Datei Shape.java.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Impressum