Class TurtleLayer
- All Implemented Interfaces:
Drawable
,Fillable
,Strokeable
,Updatable
Die Turtle verhält sich ähnlich zu ihren Entsprechungen in Logo oder TigerJython.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
Fields inherited from class schule.ngb.zm.Constants
APP_NAME, APP_VERSION, APP_VERSION_MAJ, APP_VERSION_MIN, APP_VERSION_REV, ARROW, BEVEL, BLACK, BLUE, BOLD, BROWN, canvasHeight, canvasWidth, CENTER, CLOSED, cmouseX, cmouseY, CROSS, CYAN, DARKGRAY, DASHED, DEFAULT_ANIM_RUNTIME, DEFAULT_BACKGROUND, DEFAULT_BUFFER, DEFAULT_EASING, DEFAULT_FILLCOLOR, DEFAULT_FONTSIZE, DEFAULT_FPS, DEFAULT_HEIGHT, DEFAULT_STROKECOLOR, DEFAULT_STROKEWEIGHT, DEFAULT_WIDTH, delta, DOTTED, DOWN, DOWNLEFT, DOWNRIGHT, EAST, FILLED, framesPerSecond, GRAY, GREEN, HALF_PI, HAND, ITALIC, key, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_A, KEY_ALT, KEY_B, KEY_BACK_SPACE, KEY_C, KEY_CANCEL, KEY_CAPS_LOCK, KEY_CLEAR, KEY_COMMA, KEY_CONTROL, KEY_D, KEY_DOWN, KEY_E, KEY_END, KEY_ENTER, KEY_EQUALS, KEY_ESCAPE, KEY_F, KEY_G, KEY_H, KEY_HOME, KEY_I, KEY_J, KEY_K, KEY_L, KEY_LEFT, KEY_M, KEY_MINUS, KEY_N, KEY_O, KEY_P, KEY_PAGE_DOWN, KEY_PAGE_UP, KEY_PAUSE, KEY_PERIOD, KEY_Q, KEY_R, KEY_RIGHT, KEY_S, KEY_SEMICOLON, KEY_SHIFT, KEY_SLASH, KEY_SPACE, KEY_T, KEY_TAB, KEY_U, KEY_UP, KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z, keyCode, keyEvent, keyPressed, LEFT, LIGHTGRAY, LINES, LINUX, MACOS, MAGENTA, MIDDLE, MITER, MOUSE1, MOUSE2, MOUSE3, mouseButton, mouseEvent, mousePressed, mouseX, mouseY, MOVE, NOMOUSE, NORTH, NORTHEAST, NORTHWEST, OPEN, ORANGE, PI, PIE, PINK, PLAIN, pmouseX, pmouseY, PURPLE, QUARTER_PI, RED, RIGHT, ROUND, runtime, screenHeight, screenWidth, SOLID, SOUTH, SOUTHEAST, SOUTHWEST, TEXT, tick, TWO_PI, UP, UPLEFT, UPRIGHT, WAIT, WEST, WHITE, WINDOWS, YELLOW
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
back
(double dist) void
void
bk
(double dist) void
void
draw
(Graphics2D graphics) Zeichnet den Puffer auf den Grafikkontext.void
fd
(double dist) void
fill()
void
forward
(double dist) getFill()
Gibt die aktuell gesetzte Füllung zurück.Gibt die aktuelle Füllfarbe der Form zurück.Gibt den aktuellen Farbverlauf der Form zurück.Gibt einStroke
-Objekt mit den aktuell gesetzten Eigenschaften zurück.Gibt die aktuelle Farbe der Konturlinie zurück.Gibt die Art der Konturverbindungen zurück.Gibt die Art der Konturlinie zurück.double
Gibt die Dicke der Konturlinie zurück.getTurtle
(int i) boolean
hasFill()
Gibt an, ob aktuell eine sichtbare Füllung konfiguriert ist.boolean
Gibt an, ob eine Füllfarbe konfiguriert ist.boolean
Gibt an, ob ein Farbverlauf konfiguriert ist.boolean
Gibt an, ob die aktuell gesetzten Eigenschaften eine sichtbare Konturlinie erzeugen.boolean
Gibt an, ob das Objekt derzeit sichtbar ist (also gezeichnet werden muss).void
left()
void
left
(double angle) void
lt
(double angle) void
moveTo
(double x, double y) void
noFill()
Entfernt die Füllung der Form.void
Entfernt den Farbverlauf von der Form.void
noStroke()
Entfernt die Kontur der Form.void
penDown()
void
penUp()
void
Setzt die Füllfarbe auf den Standardwert zurück.void
Setzt die Farbe der Konturlinie auf die Standardwerte zurück.void
right()
void
right
(double angle) void
rt
(double angle) void
Setzt die Füllung direkt auf das angegebenePaint
-Objekt.void
setFillColor
(int gray) Setzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.void
setFillColor
(int gray, int alpha) Setzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität und dem angegebenen Transparenzwert.void
setFillColor
(int red, int green, int blue) Setzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.void
setFillColor
(int red, int green, int blue, int alpha) Setzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen und dem angegebenen Transparenzwert.void
setFillColor
(Color color) Setzt die Füllfarbe auf die angegebene Farbe.void
setFillColor
(Color color, int alpha) Setzt die Füllfarbe auf die angegebene Farbe und setzt die Transparenz auf den angegebenen Wert. 0 is komplett durchsichtig und 255 komplett deckend.void
setGradient
(double centerX, double centerY, double radius, Color from, Color to) Setzt die Füllung auf einen kreisförmigen (radialen) Farbverlauf, mit dem Zentrum im Punkt (centerX
,centerY
) und dem angegebenen Radius.void
setGradient
(double fromX, double fromY, Color from, double toX, double toY, Color to) Setzt die Füllung auf einen linearen Farbverlauf, der am Punkt (fromX
,fromY
) mit der Farbefrom
startet und am Punkt ((toX
,toY
) mit der Farbeto
endet.void
setGradient
(Color from, Color to) Setzt die Füllung auf einen kreisförmigen (radialen) Farbverlauf, der im Zentrum beginnt.void
setGradient
(Color from, Color to, Options.Direction dir) Setzt die Füllung auf einen linearen Farbverlauf, der in die angegebene Richtung verläuft.void
setSize
(int width, int height) Ändert die Größe der Ebene auf die angegebenen Maße.void
Setzt denStroke
für die Konturlinie direkt.void
setStrokeColor
(int gray) Setzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.void
setStrokeColor
(int gray, int alpha) Setzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität und dem angegebenen Transparenzwert.void
setStrokeColor
(int red, int green, int blue) Setzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.void
setStrokeColor
(int red, int green, int blue, int alpha) Setzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen und dem angegebenen Transparenzwert.void
setStrokeColor
(Color color) Setzt die Farbe der Konturlinie auf die angegebene Farbe.void
setStrokeColor
(Color color, int alpha) Setzt die Farbe der Konturlinie auf die angegebene Farbe und setzt die Transparenz auf den angegebenen Wert. 0 is komplett durchsichtig und 255 komplett deckend.void
Setzt den Typ der Kontur.void
setStrokeWeight
(double weight) Setzt die Dicke der Konturlinie.Methods inherited from class schule.ngb.zm.Layer
clear, dispose, getGraphics, getHeight, getWidth, hide, isActive, isInBounds, show, toggle, update
Methods inherited from class schule.ngb.zm.Constants
abs, arccos, arcsin, arctan, asBool, asBool, asBool, asBool, asBool, asBool, asBool, asBool, asBool, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asInt, asInt, asInt, asInt, asInt, asInt, asInt, asInt, asInt, avg, binary, ceil, choice, choice, choice, choice, color, color, color, color, colorHsb, colorHsl, cos, degrees, distance, floor, fromBinary, fromHex, getRandom, hex, interpolate, limit, limit, loadImage, map, max, max, min, min, morph, noise, noise, noise, noise, pow, radians, random, random, random, random, random, randomBool, randomBool, randomBool, randomColor, randomGaussian, randomNiceColor, round, setSeed, shuffle, shuffle, shuffle, shuffle, sign, sin, sqrt, sum, tan
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface schule.ngb.zm.Strokeable
setStrokeJoin
-
Field Details
-
H1
public static final int H1- See Also:
-
H2
public static final int H2- See Also:
-
H3
public static final int H3- See Also:
-
H4
public static final int H4- See Also:
-
H5
public static final int H5- See Also:
-
H6
public static final int H6- See Also:
-
H7
public static final int H7- See Also:
-
H8
public static final int H8- See Also:
-
H9
public static final int H9- See Also:
-
H10
public static final int H10- See Also:
-
H11
public static final int H11- See Also:
-
H12
public static final int H12- See Also:
-
-
Constructor Details
-
TurtleLayer
public TurtleLayer() -
TurtleLayer
public TurtleLayer(int width, int height)
-
-
Method Details
-
newTurtle
-
getTurtle
-
getTurtle
-
setSize
public void setSize(int width, int height) Description copied from class:Layer
Ändert die Größe der Ebene auf die angegebenen Maße. -
draw
Description copied from class:Layer
Zeichnet den Puffer auf den Grafikkontext. -
isVisible
public boolean isVisible()Description copied from interface:Drawable
Gibt an, ob das Objekt derzeit sichtbar ist (also gezeichnet werden muss).Wie mit dieser Information umgegangen wird, ist nicht weiter festgelegt. In der Regel sollte eine aufrufende Instanz zunächst prüfen, ob das Objekt aktiv ist, und nur dann
Drawable.draw(Graphics2D)
aufrufen. Für implementierende Klassen ist es aber gegebenenfalls auch sinnvoll, bei Inaktivität den Aufruf vondraw(Graphics2D)
schnell abzubrechen:void draw( Graphics2D graphics ) { if( !isVisible() ) { return; } // Objekt zeichnen.. }
-
beginPath
public void beginPath() -
closePath
public void closePath() -
fill
public void fill() -
fd
public void fd(double dist) -
forward
public void forward(double dist) -
bk
public void bk(double dist) -
back
public void back(double dist) -
left
public void left() -
lt
public void lt(double angle) -
left
public void left(double angle) -
right
public void right() -
rt
public void rt(double angle) -
right
public void right(double angle) -
penUp
public void penUp() -
penDown
public void penDown() -
moveTo
public void moveTo(double x, double y) -
setFill
Description copied from interface:Fillable
Setzt die Füllung direkt auf das angegebenePaint
-Objekt. -
getFill
Description copied from interface:Fillable
Gibt die aktuell gesetzte Füllung zurück.Die Art der Füllung kann anhand der Abfragen
Fillable.hasFillColor()
undFillable.hasGradient()
ermittelt werden. -
setFillColor
Description copied from interface:Fillable
Setzt die Füllfarbe auf die angegebene Farbe.- Specified by:
setFillColor
in interfaceFillable
- Parameters:
color
- Die neue Füllfarbe odernull
.- See Also:
-
getFillColor
Description copied from interface:Fillable
Gibt die aktuelle Füllfarbe der Form zurück.- Specified by:
getFillColor
in interfaceFillable
- Returns:
- Die aktuelle Füllfarbe oder
null
.
-
setStrokeColor
Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf die angegebene Farbe.- Specified by:
setStrokeColor
in interfaceStrokeable
- Parameters:
color
- Die neue Farbe der Konturlinie.- See Also:
-
setStrokeWeight
public void setStrokeWeight(double weight) Description copied from interface:Strokeable
Setzt die Dicke der Konturlinie. Die Dicke muss größer 0 sein. Wird 0 übergeben, dann wird keine Kontur mehr angezeigt.- Specified by:
setStrokeWeight
in interfaceStrokeable
- Parameters:
weight
- Die Dicke der Konturlinie.
-
getStrokeType
Description copied from interface:Strokeable
Gibt die Art der Konturlinie zurück.- Specified by:
getStrokeType
in interfaceStrokeable
- Returns:
- Die aktuelle Art der Konturlinie.
- See Also:
-
getStrokeJoin
Description copied from interface:Strokeable
Gibt die Art der Konturverbindungen zurück.- Specified by:
getStrokeJoin
in interfaceStrokeable
- Returns:
- Die aktuelle Art der Konturverbindungen.
- See Also:
-
setStrokeType
Description copied from interface:Strokeable
Setzt den Typ der Kontur. Erlaubte Werte sindConstants.DASHED
,Constants.DOTTED
undConstants.SOLID
.- Specified by:
setStrokeType
in interfaceStrokeable
- Parameters:
type
- Eine der möglichen Konturarten.- See Also:
-
setGradient
Description copied from interface:Fillable
Setzt die Füllung auf einen linearen Farbverlauf, der in die angegebene Richtung verläuft.- Specified by:
setGradient
in interfaceFillable
- Parameters:
from
- Farbe am Startpunkt.to
- Farbe am Endpunkt.dir
- Richtung des Farbverlaufs.
-
setGradient
Description copied from interface:Fillable
Setzt die Füllung auf einen kreisförmigen (radialen) Farbverlauf, der im Zentrum beginnt.- Specified by:
setGradient
in interfaceFillable
- Parameters:
from
- Farbe im Zentrum.to
- Farbe am Rand.
-
hasFill
public boolean hasFill()Description copied from interface:Fillable
Gibt an, ob aktuell eine sichtbare Füllung konfiguriert ist.Eine Füllung gilt als sichtbar, wenn eine nciht transparente Füllfarbe oder ein Farbverlauf eingestellt ist.
-
hasFillColor
public boolean hasFillColor()Description copied from interface:Fillable
Gibt an, ob eine Füllfarbe konfiguriert ist.Im Gegensatz zu
Fillable.hasFill()
prüft die Methode nicht, ob die Füllfarbe transparent ist.- Specified by:
hasFillColor
in interfaceFillable
- Returns:
true
, wenn eine Füllfarbe gesetzt ist.
-
hasGradient
public boolean hasGradient()Description copied from interface:Fillable
Gibt an, ob ein Farbverlauf konfiguriert ist.- Specified by:
hasGradient
in interfaceFillable
- Returns:
true
, wenn ein Farbverlauf gesetzt ist.
-
setFillColor
Description copied from interface:Fillable
Setzt die Füllfarbe auf die angegebene Farbe und setzt die Transparenz auf den angegebenen Wert. 0 is komplett durchsichtig und 255 komplett deckend.- Specified by:
setFillColor
in interfaceFillable
- Parameters:
color
- Die neue Füllfarbe odernull
.alpha
- Ein Transparenzwert zwischen 0 und 255.- See Also:
-
setFillColor
public void setFillColor(int gray) Description copied from interface:Fillable
Setzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.- Specified by:
setFillColor
in interfaceFillable
- Parameters:
gray
- Ein Grauwert zwischen 0 und 255.- See Also:
-
setFillColor
public void setFillColor(int gray, int alpha) Description copied from interface:Fillable
Setzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität und dem angegebenen Transparenzwert. Der Grauwert 0 entspricht schwarz, 255 entspricht weiß.- Specified by:
setFillColor
in interfaceFillable
- Parameters:
gray
- Ein Grauwert zwischen 0 und 255.alpha
- Ein Transparenzwert zwischen 0 und 255.- See Also:
-
setFillColor
public void setFillColor(int red, int green, int blue) Description copied from interface:Fillable
Setzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.- Specified by:
setFillColor
in interfaceFillable
- Parameters:
red
- Der Rotanteil der Farbe zwischen 0 und 255.green
- Der Grünanteil der Farbe zwischen 0 und 255.blue
- Der Blauanteil der Farbe zwischen 0 und 255.- See Also:
-
setFillColor
public void setFillColor(int red, int green, int blue, int alpha) Description copied from interface:Fillable
Setzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen und dem angegebenen Transparenzwert.- Specified by:
setFillColor
in interfaceFillable
- Parameters:
red
- Der Rotanteil der Farbe zwischen 0 und 255.green
- Der Grünanteil der Farbe zwischen 0 und 255.blue
- Der Blauanteil der Farbe zwischen 0 und 255.alpha
- Ein Transparenzwert zwischen 0 und 25- See Also:
-
noFill
public void noFill()Description copied from interface:Fillable
Entfernt die Füllung der Form. -
resetFill
public void resetFill()Description copied from interface:Fillable
Setzt die Füllfarbe auf den Standardwert zurück. -
getGradient
Description copied from interface:Fillable
Gibt den aktuellen Farbverlauf der Form zurück.- Specified by:
getGradient
in interfaceFillable
- Returns:
- Der aktuelle Farbverlauf oder
null
.
-
setGradient
Description copied from interface:Fillable
Setzt die Füllung auf einen linearen Farbverlauf, der am Punkt (fromX
,fromY
) mit der Farbefrom
startet und am Punkt ((toX
,toY
) mit der Farbeto
endet.- Specified by:
setGradient
in interfaceFillable
- Parameters:
fromX
- x-Koordinate des Startpunktes.fromY
- y-Koordinate des Startpunktes.from
- Farbe am Startpunkt.toX
- x-Koordinate des Endpunktes.toY
- y-Koordinate des Endpunktes.to
- Farbe am Endpunkt.
-
setGradient
Description copied from interface:Fillable
Setzt die Füllung auf einen kreisförmigen (radialen) Farbverlauf, mit dem Zentrum im Punkt (centerX
,centerY
) und dem angegebenen Radius. Der Verlauf starte im Zentrum mit der Farbefrom
und endet am Rand des durch den Radius beschriebenen Kreises mit der Farbeto
.- Specified by:
setGradient
in interfaceFillable
- Parameters:
centerX
- x-Koordinate des Kreismittelpunktes.centerY
- y-Koordinate des Kreismittelpunktes.radius
- Radius des Kreises.from
- Farbe im Zentrum des Kreises.to
- Farbe am Rand des Kreises.
-
noGradient
public void noGradient()Description copied from interface:Fillable
Entfernt den Farbverlauf von der Form.- Specified by:
noGradient
in interfaceFillable
-
setStroke
Description copied from interface:Strokeable
Setzt denStroke
für die Konturlinie direkt.- Specified by:
setStroke
in interfaceStrokeable
- Parameters:
stroke
- EinStroke
-Objekt.
-
getStroke
Description copied from interface:Strokeable
Gibt einStroke
-Objekt mit den aktuell gesetzten Eigenschaften zurück.- Specified by:
getStroke
in interfaceStrokeable
- Returns:
- Ein
Stroke
mit den passenden Kontureigenschaften.
-
hasStroke
public boolean hasStroke()Description copied from interface:Strokeable
Gibt an, ob die aktuell gesetzten Eigenschaften eine sichtbare Konturlinie erzeugen.Die Konturlinie gilt als sichtbar, wenn sie eine nicht transparente Farbe und eine Dicke größer 0 besitzt.
Das bedeutet, falls die Methode
false
zurückgibt, dann kannStrokeable.getStroke()
trotzdem ein gültigesStroke
-Objekt zurückgeben, beispielsweise wenn keine Farbe gesetzt wurde.- Specified by:
hasStroke
in interfaceStrokeable
- Returns:
true
, wenn die Konturlinie sichtbar ist,false
sonst.
-
getStrokeColor
Description copied from interface:Strokeable
Gibt die aktuelle Farbe der Konturlinie zurück.- Specified by:
getStrokeColor
in interfaceStrokeable
- Returns:
- Die Konturfarbe oder
null
.
-
setStrokeColor
Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf die angegebene Farbe und setzt die Transparenz auf den angegebenen Wert. 0 is komplett durchsichtig und 255 komplett deckend.- Specified by:
setStrokeColor
in interfaceStrokeable
- Parameters:
color
- Die neue Farbe der Konturlinie odernull
.alpha
- Ein Transparenzwert zwischen 0 und 255.- See Also:
-
setStrokeColor
public void setStrokeColor(int gray) Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.- Specified by:
setStrokeColor
in interfaceStrokeable
- Parameters:
gray
- Ein Grauwert zwischen 0 und 255.- See Also:
-
setStrokeColor
public void setStrokeColor(int gray, int alpha) Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität und dem angegebenen Transparenzwert. Der Grauwert 0 entspricht schwarz, 255 entspricht weiß.- Specified by:
setStrokeColor
in interfaceStrokeable
- Parameters:
gray
- Ein Grauwert zwischen 0 und 255.alpha
- Ein Transparenzwert zwischen 0 und 255.- See Also:
-
setStrokeColor
public void setStrokeColor(int red, int green, int blue) Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.- Specified by:
setStrokeColor
in interfaceStrokeable
- Parameters:
red
- Der Rotanteil der Farbe zwischen 0 und 255.green
- Der Grünanteil der Farbe zwischen 0 und 255.blue
- Der Blauanteil der Farbe zwischen 0 und 255.- See Also:
-
setStrokeColor
public void setStrokeColor(int red, int green, int blue, int alpha) Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen und dem angegebenen Transparenzwert.- Specified by:
setStrokeColor
in interfaceStrokeable
- Parameters:
red
- Der Rotanteil der Farbe zwischen 0 und 255.green
- Der Grünanteil der Farbe zwischen 0 und 255.blue
- Der Blauanteil der Farbe zwischen 0 und 255.alpha
- Ein Transparenzwert zwischen 0 und 25- See Also:
-
noStroke
public void noStroke()Description copied from interface:Strokeable
Entfernt die Kontur der Form.- Specified by:
noStroke
in interfaceStrokeable
-
resetStroke
public void resetStroke()Description copied from interface:Strokeable
Setzt die Farbe der Konturlinie auf die Standardwerte zurück.- Specified by:
resetStroke
in interfaceStrokeable
- See Also:
-
getStrokeWeight
public double getStrokeWeight()Description copied from interface:Strokeable
Gibt die Dicke der Konturlinie zurück.- Specified by:
getStrokeWeight
in interfaceStrokeable
- Returns:
- Die aktuelle Dicke der Linie.
-