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
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidback(double dist) voidvoidbk(double dist) voidvoiddraw(Graphics2D graphics) Zeichnet den Puffer auf den Grafikkontext.voidfd(double dist) voidfill()voidforward(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.doubleGibt die Dicke der Konturlinie zurück.getTurtle(int i) booleanhasFill()Gibt an, ob aktuell eine sichtbare Füllung konfiguriert ist.booleanGibt an, ob eine Füllfarbe konfiguriert ist.booleanGibt an, ob ein Farbverlauf konfiguriert ist.booleanGibt an, ob die aktuell gesetzten Eigenschaften eine sichtbare Konturlinie erzeugen.booleanGibt an, ob das Objekt derzeit sichtbar ist (also gezeichnet werden muss).voidleft()voidleft(double angle) voidlt(double angle) voidmoveTo(double x, double y) voidnoFill()Entfernt die Füllung der Form.voidEntfernt den Farbverlauf von der Form.voidnoStroke()Entfernt die Kontur der Form.voidpenDown()voidpenUp()voidSetzt die Füllfarbe auf den Standardwert zurück.voidSetzt die Farbe der Konturlinie auf die Standardwerte zurück.voidright()voidright(double angle) voidrt(double angle) voidSetzt die Füllung direkt auf das angegebenePaint-Objekt.voidsetFillColor(int gray) Setzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.voidsetFillColor(int gray, int alpha) Setzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität und dem angegebenen Transparenzwert.voidsetFillColor(int red, int green, int blue) Setzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.voidsetFillColor(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.voidsetFillColor(Color color) Setzt die Füllfarbe auf die angegebene Farbe.voidsetFillColor(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.voidsetGradient(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.voidsetGradient(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 Farbefromstartet und am Punkt ((toX,toY) mit der Farbetoendet.voidsetGradient(Color from, Color to) Setzt die Füllung auf einen kreisförmigen (radialen) Farbverlauf, der im Zentrum beginnt.voidsetGradient(Color from, Color to, Options.Direction dir) Setzt die Füllung auf einen linearen Farbverlauf, der in die angegebene Richtung verläuft.voidsetSize(int width, int height) Ändert die Größe der Ebene auf die angegebenen Maße.voidSetzt denStrokefür die Konturlinie direkt.voidsetStrokeColor(int gray) Setzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.voidsetStrokeColor(int gray, int alpha) Setzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität und dem angegebenen Transparenzwert.voidsetStrokeColor(int red, int green, int blue) Setzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.voidsetStrokeColor(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.voidsetStrokeColor(Color color) Setzt die Farbe der Konturlinie auf die angegebene Farbe.voidsetStrokeColor(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.voidSetzt den Typ der Kontur.voidsetStrokeWeight(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, updateMethods 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, tanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:LayerZeichnet den Puffer auf den Grafikkontext. -
isVisible
public boolean isVisible()Description copied from interface:DrawableGibt 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:FillableSetzt die Füllung direkt auf das angegebenePaint-Objekt. -
getFill
Description copied from interface:FillableGibt 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:FillableSetzt die Füllfarbe auf die angegebene Farbe.- Specified by:
setFillColorin interfaceFillable- Parameters:
color- Die neue Füllfarbe odernull.- See Also:
-
getFillColor
Description copied from interface:FillableGibt die aktuelle Füllfarbe der Form zurück.- Specified by:
getFillColorin interfaceFillable- Returns:
- Die aktuelle Füllfarbe oder
null.
-
setStrokeColor
Description copied from interface:StrokeableSetzt die Farbe der Konturlinie auf die angegebene Farbe.- Specified by:
setStrokeColorin interfaceStrokeable- Parameters:
color- Die neue Farbe der Konturlinie.- See Also:
-
setStrokeWeight
public void setStrokeWeight(double weight) Description copied from interface:StrokeableSetzt die Dicke der Konturlinie. Die Dicke muss größer 0 sein. Wird 0 übergeben, dann wird keine Kontur mehr angezeigt.- Specified by:
setStrokeWeightin interfaceStrokeable- Parameters:
weight- Die Dicke der Konturlinie.
-
getStrokeType
Description copied from interface:StrokeableGibt die Art der Konturlinie zurück.- Specified by:
getStrokeTypein interfaceStrokeable- Returns:
- Die aktuelle Art der Konturlinie.
- See Also:
-
getStrokeJoin
Description copied from interface:StrokeableGibt die Art der Konturverbindungen zurück.- Specified by:
getStrokeJoinin interfaceStrokeable- Returns:
- Die aktuelle Art der Konturverbindungen.
- See Also:
-
setStrokeType
Description copied from interface:StrokeableSetzt den Typ der Kontur. Erlaubte Werte sindConstants.DASHED,Constants.DOTTEDundConstants.SOLID.- Specified by:
setStrokeTypein interfaceStrokeable- Parameters:
type- Eine der möglichen Konturarten.- See Also:
-
setGradient
Description copied from interface:FillableSetzt die Füllung auf einen linearen Farbverlauf, der in die angegebene Richtung verläuft.- Specified by:
setGradientin interfaceFillable- Parameters:
from- Farbe am Startpunkt.to- Farbe am Endpunkt.dir- Richtung des Farbverlaufs.
-
setGradient
Description copied from interface:FillableSetzt die Füllung auf einen kreisförmigen (radialen) Farbverlauf, der im Zentrum beginnt.- Specified by:
setGradientin interfaceFillable- Parameters:
from- Farbe im Zentrum.to- Farbe am Rand.
-
hasFill
public boolean hasFill()Description copied from interface:FillableGibt 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:FillableGibt 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:
hasFillColorin interfaceFillable- Returns:
true, wenn eine Füllfarbe gesetzt ist.
-
hasGradient
public boolean hasGradient()Description copied from interface:FillableGibt an, ob ein Farbverlauf konfiguriert ist.- Specified by:
hasGradientin interfaceFillable- Returns:
true, wenn ein Farbverlauf gesetzt ist.
-
setFillColor
Description copied from interface:FillableSetzt 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:
setFillColorin 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:FillableSetzt die Füllfarbe auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.- Specified by:
setFillColorin interfaceFillable- Parameters:
gray- Ein Grauwert zwischen 0 und 255.- See Also:
-
setFillColor
public void setFillColor(int gray, int alpha) Description copied from interface:FillableSetzt 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:
setFillColorin 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:FillableSetzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.- Specified by:
setFillColorin 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:FillableSetzt die Füllfarbe auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen und dem angegebenen Transparenzwert.- Specified by:
setFillColorin 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:FillableEntfernt die Füllung der Form. -
resetFill
public void resetFill()Description copied from interface:FillableSetzt die Füllfarbe auf den Standardwert zurück. -
getGradient
Description copied from interface:FillableGibt den aktuellen Farbverlauf der Form zurück.- Specified by:
getGradientin interfaceFillable- Returns:
- Der aktuelle Farbverlauf oder
null.
-
setGradient
Description copied from interface:FillableSetzt die Füllung auf einen linearen Farbverlauf, der am Punkt (fromX,fromY) mit der Farbefromstartet und am Punkt ((toX,toY) mit der Farbetoendet.- Specified by:
setGradientin 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:FillableSetzt 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 Farbefromund endet am Rand des durch den Radius beschriebenen Kreises mit der Farbeto.- Specified by:
setGradientin 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:FillableEntfernt den Farbverlauf von der Form.- Specified by:
noGradientin interfaceFillable
-
setStroke
Description copied from interface:StrokeableSetzt denStrokefür die Konturlinie direkt.- Specified by:
setStrokein interfaceStrokeable- Parameters:
stroke- EinStroke-Objekt.
-
getStroke
Description copied from interface:StrokeableGibt einStroke-Objekt mit den aktuell gesetzten Eigenschaften zurück.- Specified by:
getStrokein interfaceStrokeable- Returns:
- Ein
Strokemit den passenden Kontureigenschaften.
-
hasStroke
public boolean hasStroke()Description copied from interface:StrokeableGibt 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
falsezurückgibt, dann kannStrokeable.getStroke()trotzdem ein gültigesStroke-Objekt zurückgeben, beispielsweise wenn keine Farbe gesetzt wurde.- Specified by:
hasStrokein interfaceStrokeable- Returns:
true, wenn die Konturlinie sichtbar ist,falsesonst.
-
getStrokeColor
Description copied from interface:StrokeableGibt die aktuelle Farbe der Konturlinie zurück.- Specified by:
getStrokeColorin interfaceStrokeable- Returns:
- Die Konturfarbe oder
null.
-
setStrokeColor
Description copied from interface:StrokeableSetzt 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:
setStrokeColorin 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:StrokeableSetzt die Farbe der Konturlinie auf einen Grauwert mit der angegebenen Intensität. 0 entspricht schwarz, 255 entspricht weiß.- Specified by:
setStrokeColorin interfaceStrokeable- Parameters:
gray- Ein Grauwert zwischen 0 und 255.- See Also:
-
setStrokeColor
public void setStrokeColor(int gray, int alpha) Description copied from interface:StrokeableSetzt 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:
setStrokeColorin 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:StrokeableSetzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen.- Specified by:
setStrokeColorin 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:StrokeableSetzt die Farbe der Konturlinie auf die Farbe mit den angegebenen Rot-, Grün- und Blauanteilen und dem angegebenen Transparenzwert.- Specified by:
setStrokeColorin 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:StrokeableEntfernt die Kontur der Form.- Specified by:
noStrokein interfaceStrokeable
-
resetStroke
public void resetStroke()Description copied from interface:StrokeableSetzt die Farbe der Konturlinie auf die Standardwerte zurück.- Specified by:
resetStrokein interfaceStrokeable- See Also:
-
getStrokeWeight
public double getStrokeWeight()Description copied from interface:StrokeableGibt die Dicke der Konturlinie zurück.- Specified by:
getStrokeWeightin interfaceStrokeable- Returns:
- Die aktuelle Dicke der Linie.
-