Tilda Turtle (OOP)
Entdecke Klassen, Objekte, Attribute und Methoden!
Noch keine Objekte in der Szene.
Objekte der Szene
0 ObjekteWähle ein Objekt aus. Darunter werden ausschließlich die Details dieses Objekts angezeigt.
Grafikobjekt
Gemeinsame Grundlage aller sichtbaren Szenenelemente. Jeder Zeichenbefehl erzeugt intern ein Objekt; eine Zuweisung gibt ihm zusätzlich einen Namen. Attribute werden im Inspektor nur gelesen und ausschließlich durch Methoden verändert.
Attribute
name – Name des Objekts, den der Benutzer optional vorgeben kannobjectType – fachlicher ObjekttypcreationIndex – Ebenen- und Erzeugungsreihenfolgesource – Quellzeile und Quellspaltevisible – aktueller Sichtbarkeitszustandshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szene
Objekt = zeichenbefehl(...)
# Basisklasse
Basis = rechteck(250, 70)
Basis.farbe(dunkelblau)
Basis.verschieben(0, -120)
Basistitel = schreibe("Grafikobjekt")
Basistitel.farbe(dunkelblau)
Basistitel.verschieben(-75, -120)
# Tilda zeigt auf die Basisklasse
Tilda = pfeil(90, 28, 0, grün, hellgrün)
Tilda.verschieben(0, -25)
Tildaname = schreibe("Tilda")
Tildaname.verschieben(-35, 40)
# Abgeleitete Klassen
LinieKlasse = rechteck(130, 55)
LinieKlasse.verschieben(-210, 100)
LinieText = schreibe("Linie")
LinieText.verschieben(-245, 100)
FormKlasse = rechteck(130, 55)
FormKlasse.verschieben(-70, 100)
FormText = schreibe("Form")
FormText.verschieben(-105, 100)
TextKlasse = rechteck(130, 55)
TextKlasse.verschieben(70, 100)
TextText = schreibe("Text")
TextText.verschieben(40, 100)
WelleKlasse = rechteck(150, 55)
WelleKlasse.verschieben(220, 100)
WelleText = schreibe("Wellenlinie")
WelleText.verschieben(155, 100)
Linie
Eine durch vor(...) oder zurück(...) tatsächlich gezeichnete Strecke. Bei angehobenem Stift entsteht kein Linienobjekt und eine Zuweisung wird abgewiesen.
Attribute
start – Anfangspunktend – Endpunktcolor – Linienfarbewidth – Linienbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 sein
Kante = vor(100) Rueckweg = zurück(50)
Kante = vor(100) Kante.farbe(rot) Kante.linienbreite(5) Kante.verschieben(35, 20)
Flächenpfad
Ein geschlossener Pfad aus einem fläche-Block. Er speichert alle erzeugten Punkte sowie Kontur- und Füllfarbe.
Attribute
points – geordnete Pfadpunktecolor – Konturfarbefill – Füllfarbewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 sein
Feld = fläche {
vor(80)
drehe(90)
vor(60)
}
Kreis
Ein Kreis an Tildas aktueller Position. Der Radius muss größer als 0 sein; Kontur- und optionale Füllfarbe werden vom Formbefehl geprüft.
Attribute
x, y – Mittelpunktvalues[0] – Radiusrotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Sonne = kreis(radius [, konturfarbe [, fuellfarbe]])
Sonne = kreis(45)
Sonne.farbe(gelb)
Sonne.verschieben(60, 20)
Titel = schreibe("Objekte")
Titel.farbe(dunkelblau)
Titel.verschieben(-80, -60)
Ellipse
Eine Ellipse mit Breite und Höhe. Beide Maße müssen größer als 0 sein; Drehung und Farben sind optional.
Attribute
x, y – Mittelpunktvalues – Breite und Höherotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Oval = ellipse(breite, hoehe [, drehung [, konturfarbe [, fuellfarbe]]])
Rechteck und Quadrat
Rechteckobjekt mit Breite und Höhe. quadrat(...) ist laut Runtime ein Komfortkonstruktor, der ein Rechteck mit gleichen Seiten erzeugt.
Attribute
x, y – Mittelpunktvalues – Breite und Höherotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Haus = rechteck(breite, hoehe [, drehung [, konturfarbe [, fuellfarbe]]]) Feld = quadrat(seitenlaenge [, drehung [, konturfarbe [, fuellfarbe]]])
Haus = rechteck(120, 80) Haus.farbe(blau) Haus.verschieben(60, 20) Haus.drehen(15)
Dreieck
Ein gleichschenkliges Dreieck mit Breite und Höhe. Beide Maße müssen größer als 0 sein.
Attribute
x, y – Mittelpunktvalues – Eckenzahl, Breite und Höherotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Dach = dreieck(breite, hoehe [, drehung [, konturfarbe [, fuellfarbe]]])
Vieleck
Ein regelmäßiges Vieleck. Die Eckenzahl muss ganzzahlig zwischen 3 und 100 liegen; der Radius muss größer als 0 sein.
Attribute
x, y – Mittelpunktvalues – Eckenzahl und Durchmesserrotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Schild = vieleck(ecken, radius [, drehung [, konturfarbe [, fuellfarbe]]])
Stern
Ein Stern mit Spitzenzahl, Außen- und Innenradius. Die Spitzenzahl liegt zwischen 2 und 100; der Innenradius muss kleiner als der Außenradius sein.
Attribute
x, y – Mittelpunktvalues – Spitzenzahl, Außen- und Innenradiusrotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Sternbild = stern(spitzen, aussenradius, innenradius [, drehung [, konturfarbe [, fuellfarbe]]])
Bogen
Ein offener Ellipsenbogen. Breite und Höhe müssen größer als 0 sein; Startwinkel und Winkelumfang bestimmen den sichtbaren Abschnitt.
Attribute
x, y – Mittelpunktvalues – Breite, Höhe, Startwinkel und Winkelumfangrotation – Drehungstroke – Linienfarbewidth – Linienbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 sein
Kurve = bogen(breite, hoehe, startwinkel, winkelumfang [, drehung [, farbe]])
Wellenlinie
Eine glatte offene Wellenlinie. Länge und Höhe müssen größer als 0 sein; die Wellenzahl muss ganzzahlig zwischen 1 und 100 liegen.
Attribute
x, y – Mittelpunktvalues – Länge, Höhe und Wellenzahlrotation – Drehungstroke – Linienfarbewidth – Linienbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 sein
Meer = wellenlinie(laenge, hoehe, wellenzahl [, drehung [, farbe]])
Meer = wellenlinie(260, 24, 7) Meer.farbe(dunkelblau) Meer.linienbreite(3) Meer.verschieben(0, 70)
Pfeil
Ein geschlossenes Pfeilobjekt mit Länge und Breite. Beide Maße müssen größer als 0 sein.
Attribute
x, y – Mittelpunktvalues – Länge und Breiterotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
Hinweis = pfeil(laenge, breite [, drehung [, konturfarbe [, fuellfarbe]]])
Grafikobjekt3D
Gemeinsamer OOP-Vertrag für räumlich wirkende Grafikobjekte. Tilda verwendet bewusst eine reproduzierbare 2D-Projektion und keine vollständige 3D-Engine.
Attribute
x, y – Mittelpunktrotation – Drehungstroke – Konturfarbefill/frontColor – VorderflächenfarbesideColor – Seitenflächenfarbegloss – Glanzstärke 0 bis 100depth – räumliche Tiefe der 2D-Projektionvisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Vorderflächenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlauf auf der Vorderflächeregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf auf der Vorderflächevorderseite(farbe) – setzt die Farbe der Vorderflächeseite(farbe) – setzt die Farbe der räumlichen Seitenflächeglanz(wert) – setzt die Glanzstärke von 0 bis 100tiefe(wert) – ändert bei tiefenbasierten 3D-Objekten die Projektionstiefe
abstrakter Vertrag – wird über Zylinder, Kegel, Quader oder Kugel erzeugt
Kiste = quader(130, 80, 35) Kiste.vorderseite(hellbraun) Kiste.seite(braun) Kiste.glanz(20) Ball = kugel(42) Ball.verschieben(150, 0) Ball.vorderseite(hellblau) Ball.seite(dunkelblau) Ball.glanz(75) Dose = zylinder(80, 110, 28) Dose.verschieben(-150, 0) Dose.vorderseite(hellgrau) Dose.seite(dunkelgrau) Dose.glanz(60) Kegel1 = kegel(90, 120, 25) Kegel1.verschieben(0, 150) Kegel1.vorderseite(orange) Kegel1.seite(dunkelorange)
Zylinder
Eine grafisch räumlich wirkende 2D-Projektion eines Zylinders. Das Objekt folgt dem gemeinsamen Grafikobjekt3D-Vertrag; es ist keine echte 3D-Engine.
Attribute
values – Breite, Höhe und Tiefex, y – Mittelpunktrotation – Drehungstroke – Konturfarbefill/frontColor – VorderflächenfarbesideColor – Seitenflächenfarbegloss – Glanzstärke 0 bis 100depth – räumliche Tiefe der 2D-Projektionvisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Vorderflächenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlauf auf der Vorderflächeregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf auf der Vorderflächevorderseite(farbe) – setzt die Farbe der Vorderflächeseite(farbe) – setzt die Farbe der räumlichen Seitenflächeglanz(wert) – setzt die Glanzstärke von 0 bis 100tiefe(wert) – ändert die Projektionstiefe; der Wert muss größer als 0 sein
Dose = zylinder(breite, hoehe, tiefe [, drehung [, konturfarbe [, fuellfarbe]]])
Kegel
Eine grafisch räumlich wirkende 2D-Projektion eines Kegels. Das Objekt folgt dem gemeinsamen Grafikobjekt3D-Vertrag; es ist keine echte 3D-Engine.
Attribute
values – Breite, Höhe und Tiefex, y – Mittelpunktrotation – Drehungstroke – Konturfarbefill/frontColor – VorderflächenfarbesideColor – Seitenflächenfarbegloss – Glanzstärke 0 bis 100depth – räumliche Tiefe der 2D-Projektionvisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Vorderflächenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlauf auf der Vorderflächeregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf auf der Vorderflächevorderseite(farbe) – setzt die Farbe der Vorderflächeseite(farbe) – setzt die Farbe der räumlichen Seitenflächeglanz(wert) – setzt die Glanzstärke von 0 bis 100tiefe(wert) – ändert die Projektionstiefe; der Wert muss größer als 0 sein
Kegel1 = kegel(breite, hoehe, tiefe [, drehung [, konturfarbe [, fuellfarbe]]])
Quader
OOP-only: räumlich wirkender Quader als einfache 2D-Projektion.
Attribute
values – Breite, Höhe und Tiefex, y – Mittelpunktrotation – Drehungstroke – Konturfarbefill/frontColor – VorderflächenfarbesideColor – Seitenflächenfarbegloss – Glanzstärke 0 bis 100depth – räumliche Tiefe der 2D-Projektionvisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Vorderflächenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlauf auf der Vorderflächeregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf auf der Vorderflächevorderseite(farbe) – setzt die Farbe der Vorderflächeseite(farbe) – setzt die Farbe der räumlichen Seitenflächeglanz(wert) – setzt die Glanzstärke von 0 bis 100tiefe(wert) – ändert die Projektionstiefe; der Wert muss größer als 0 sein
Kiste = quader(breite, hoehe, tiefe [, drehung [, konturfarbe [, fuellfarbe]]])
Kiste = quader(130, 80, 35) Kiste.vorderseite(hellbraun) Kiste.seite(braun) Kiste.glanz(20) Ball = kugel(42) Ball.verschieben(150, 0) Ball.vorderseite(hellblau) Ball.seite(dunkelblau) Ball.glanz(75) Dose = zylinder(80, 110, 28) Dose.verschieben(-150, 0) Dose.vorderseite(hellgrau) Dose.seite(dunkelgrau) Dose.glanz(60) Kegel1 = kegel(90, 120, 25) Kegel1.verschieben(0, 150) Kegel1.vorderseite(orange) Kegel1.seite(dunkelorange)
Kugel
OOP-only: räumlich wirkende Kugel als schattierte Kreisprojektion.
Attribute
values – Radiusx, y – Mittelpunktrotation – Drehungstroke – Konturfarbefill/frontColor – VorderflächenfarbesideColor – Seitenflächenfarbegloss – Glanzstärke 0 bis 100depth – räumliche Tiefe der 2D-Projektionvisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Vorderflächenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlauf auf der Vorderflächeregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf auf der Vorderflächevorderseite(farbe) – setzt die Farbe der Vorderflächeseite(farbe) – setzt die Farbe der räumlichen Seitenflächeglanz(wert) – setzt die Glanzstärke von 0 bis 100
Ball = kugel(radius [, konturfarbe [, fuellfarbe]])
Kiste = quader(130, 80, 35) Kiste.vorderseite(hellbraun) Kiste.seite(braun) Kiste.glanz(20) Ball = kugel(42) Ball.verschieben(150, 0) Ball.vorderseite(hellblau) Ball.seite(dunkelblau) Ball.glanz(75) Dose = zylinder(80, 110, 28) Dose.verschieben(-150, 0) Dose.vorderseite(hellgrau) Dose.seite(dunkelgrau) Dose.glanz(60) Kegel1 = kegel(90, 120, 25) Kegel1.verschieben(0, 150) Kegel1.vorderseite(orange) Kegel1.seite(dunkelorange)
Text
Ein Textelement an Tildas aktueller Position. Der Text übernimmt beim Erzeugen Farbe und Blickrichtung; Tildas Position wird nicht verändert.
Attribute
text – Textinhaltx, y – Bezugspunktrotation – Drehungcolor – Textfarbewidth – gespeicherte Stiftstärkesize – Schriftgrößefont – SchriftfamilietextOrientation – horizontal oder vertikalbend – keine Biegung, oben oder untenbendRadius – Radius der Textbiegungvisible – Sichtbarkeitshadow – zeigt, ob der OOP-Schatten aktiviert istglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szeneschriftart(schreibschrift|druckschrift) – wählt die Schriftartgebogen(oben|unten|keine) – biegt den Text nach oben oder unten oder hebt die Biegung aufbiegungsradius(radius) – setzt den positiven Radius für gebogenen Textausrichtung(horizontal|vertikal) – ordnet den Text horizontal oder vertikal an
Titel = schreibe("Hallo")
Sonne = kreis(45)
Sonne.farbe(gelb)
Sonne.verschieben(60, 20)
Titel = schreibe("Objekte")
Titel.farbe(dunkelblau)
Titel.verschieben(-80, -60)
Text3D
Ein plastischer Schriftzug als eigenständiges Grafikobjekt. Der Text wird mit Vorderseite und seitlicher Tiefe gerendert und kann zusätzlich Glanz, Schatten, einen zweifarbigen Verlauf oder einen Regenbogenverlauf erhalten.
Attribute
text – Inhalt des Schriftzugsx, y – Position des Schriftzugsrotation – Drehungsize – Schriftgrößedepth – räumliche TiefefrontColor – Farbe der VorderseitesideColor – Farbe der Seitenflächengloss – Glanzstärke von 0 bis 100shadow – Schatten ein oder ausgradient – optionale Verlaufsfarbenrainbow – Regenbogenverlauf aktiv oder nichtvisible – SichtbarkeitglowColor, glowStrength – Farbe und Stärke des optionalen Leuchteffekts
Methoden
farbe(farbe) – setzt die Vorderseitenfarbe und beendet einen aktiven Verlaufverschieben(dx, dy) – verschiebt den Schriftzugdrehen(winkel) – dreht den Schriftzugsichtbar(ja|nein) – blendet den Schriftzug ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)loeschen() / löschen() – entfernt den Schriftzug aus der Szenetiefe(wert) – legt die räumliche Tiefe fest; der Wert darf nicht negativ seinvorderseite(farbe) – legt die Farbe der Vorderseite festseite(farbe) – legt die Farbe der Seitenflächen festglanz(wert) – legt den Glanz von 0 bis 100 festschatten(ja|nein) – schaltet den Schatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausverlauf(farbe1, farbe2) – legt einen linearen Farbverlauf auf der Vorderseite festregenbogen() – verwendet die sieben Regenbogenfarben als Verlauf
Titel = text3d("TILDA")
Titel = text3d("TILDA")
Titel.tiefe(40)
Titel.vorderseite("#8b3dff")
Titel.seite("#5b21c8")
Titel.glanz(80)
Titel.schatten(ja)
Untertitel = text3d("TURTLE")
Untertitel.tiefe(40)
Untertitel.vorderseite("#6fdc3c")
Untertitel.seite("#3d8d22")
Untertitel.glanz(80)
Herz
OOP-only: geschlossene Herzform mit frei wählbarer Breite und Höhe.
Attribute
x, y – Mittelpunktvalues – Breite und Höherotation – Drehungstroke – Konturfarbefill – Füllfarbe oder keinewidth – Konturbreitevisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)material(material) – setzt metall, holz, glas, kunststoff oder stein; keine entfernt das Materialschatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 seinfuellen(farbe|keine) / füllen(farbe|keine) – setzt oder entfernt die Innenfüllungverlauf(farbe1, farbe2) – setzt einen horizontalen Zweifarbverlaufregenbogen() – setzt den definierten siebenfarbigen Regenbogenverlauf
MeinHerz = herz(breite, hoehe [, drehung [, konturfarbe [, fuellfarbe]]])
MeinHerz = herz(130, 110, 0, dunkelrot, rosa) MeinHerz.schatten(ja) Schleife = unendlich(160, 70, 0, dunkelblau) Schleife.verschieben(0, 140) Schleife.linienbreite(8) Schleife.leuchten(hellblau, 18)
Unendlichkeitszeichen
OOP-only: liegende Acht als offene, geschwungene Linienform.
Attribute
x, y – Mittelpunktvalues – Breite und Höherotation – Drehungstroke – Linienfarbewidth – Linienbreitevisible – Sichtbarkeittransparency – Transparenz 0 bis 100shadow – OOP-SchattenglowColor, glowStrength – optionaler Leuchteffekt
Methoden
farbe(farbe) – ändert die Zeichen- oder Konturfarbe des Objektsverschieben(dx, dy) – verschiebt das Objekt relativ zu seiner aktuellen Positiondrehen(winkel) – dreht das Objekt um seinen eigenen Bezugspunktsichtbar(ja|nein) – blendet das Objekt ein oder austransparenz(wert) – setzt die Transparenz von 0 (sichtbar) bis 100 (vollständig transparent)schatten(ja|nein) – schaltet einen weichen Objektschatten ein oder ausleuchten(farbe [, staerke]) / leuchten(keine) – setzt einen farbigen Leuchthof oder schaltet ihn ausloeschen() / löschen() – entfernt genau dieses Objekt aus der Szenelinienbreite(wert) – ändert die Konturbreite; der Wert muss größer als 0 sein
Schleife = unendlich(breite, hoehe [, drehung [, farbe]])
MeinHerz = herz(130, 110, 0, dunkelrot, rosa) MeinHerz.schatten(ja) Schleife = unendlich(160, 70, 0, dunkelblau) Schleife.verschieben(0, 140) Schleife.linienbreite(8) Schleife.leuchten(hellblau, 18)
Erste benannte Objekte
Ein Kreis und ein Text werden benannt und anschließend über Methoden verändert.
Sonne = kreis(45)
Sonne.farbe(gelb)
Sonne.verschieben(60, 20)
Titel = schreibe("Objekte")
Titel.farbe(dunkelblau)
Titel.verschieben(-80, -60)
Eine Linie verändern
Eine gezeichnete Linie erhält einen Namen, eine neue Farbe, eine größere Linienbreite und eine neue Position.
Kante = vor(100) Kante.farbe(rot) Kante.linienbreite(5) Kante.verschieben(35, 20)
Eine Form drehen und verschieben
Ein Rechteck wird als Objekt erzeugt und anschließend unabhängig von Tilda verändert.
Haus = rechteck(120, 80) Haus.farbe(blau) Haus.verschieben(60, 20) Haus.drehen(15)
Wellenlinie als Objekt
Eine Wellenlinie wird benannt und danach über ihre Objektmethoden gestaltet.
Meer = wellenlinie(260, 24, 7) Meer.farbe(dunkelblau) Meer.linienbreite(3) Meer.verschieben(0, 70)
Objekt ein- und ausblenden
Die Sichtbarkeit eines Objekts wird über eine Methode geändert. Im Einzelschritt zeigt der Inspektor beide Zustände.
Sonne = kreis(50) Sonne.farbe(gelb) Sonne.sichtbar(nein) Sonne.sichtbar(ja)
Ein einzelnes Objekt löschen
Nur das benannte Objekt wird aus der Szene entfernt; andere Objekte bleiben erhalten.
Sonne = kreis(45)
Titel = schreibe("Bleibt")
Titel.verschieben(-70, -70)
Sonne.loeschen()
Klassendiagramm: Tilda und Grafikobjekt
Ein statisches, mit Tilda gezeichnetes Klassendiagramm. Tilda zeigt auf die Basisklasse Grafikobjekt; darunter stehen ausgewählte konkrete Klassen.
# Basisklasse
Basis = rechteck(250, 70)
Basis.farbe(dunkelblau)
Basis.verschieben(0, -120)
Basistitel = schreibe("Grafikobjekt")
Basistitel.farbe(dunkelblau)
Basistitel.verschieben(-75, -120)
# Tilda zeigt auf die Basisklasse
Tilda = pfeil(90, 28, 0, grün, hellgrün)
Tilda.verschieben(0, -25)
Tildaname = schreibe("Tilda")
Tildaname.verschieben(-35, 40)
# Abgeleitete Klassen
LinieKlasse = rechteck(130, 55)
LinieKlasse.verschieben(-210, 100)
LinieText = schreibe("Linie")
LinieText.verschieben(-245, 100)
FormKlasse = rechteck(130, 55)
FormKlasse.verschieben(-70, 100)
FormText = schreibe("Form")
FormText.verschieben(-105, 100)
TextKlasse = rechteck(130, 55)
TextKlasse.verschieben(70, 100)
TextText = schreibe("Text")
TextText.verschieben(40, 100)
WelleKlasse = rechteck(150, 55)
WelleKlasse.verschieben(220, 100)
WelleText = schreibe("Wellenlinie")
WelleText.verschieben(155, 100)
3D-Schriftzug TILDA TURTLE
Ein fester OOP-Auslieferungsstandard für einen plastischen Schriftzug in den gewohnten lila und grünen Tilda-Farbtönen.
Titel = text3d("TILDA")
Titel.tiefe(40)
Titel.vorderseite("#8b3dff")
Titel.seite("#5b21c8")
Titel.glanz(80)
Titel.schatten(ja)
Untertitel = text3d("TURTLE")
Untertitel.tiefe(40)
Untertitel.vorderseite("#6fdc3c")
Untertitel.seite("#3d8d22")
Untertitel.glanz(80)
3D-Text mit Regenbogenfarben
Zeigt den eingebauten siebenfarbigen Regenbogenverlauf und einen frei wählbaren zweifarbigen Verlauf.
Regenbogen = text3d("REGENBOGEN")
Regenbogen.tiefe(28)
Regenbogen.regenbogen()
Regenbogen.glanz(70)
Regenbogen.schatten(ja)
Verlauf = text3d("TILDA")
Verlauf.verlauf(lila, gruen)
Verlauf.seite(dunkellila)
Verlauf.verschieben(0, 130)
OOP: Füllungen setzen und entfernen
Zeigt, wie ein benanntes Grafikobjekt gefüllt und mit keine wieder ungefüllt wird.
Haus = rechteck(140, 90) Haus.farbe(dunkelblau) Haus.fuellen(hellblau) Sonne = kreis(35) Sonne.verschieben(110, -90) Sonne.fuellen(gelb) Rahmen = rechteck(70, 45) Rahmen.verschieben(-120, 90) Rahmen.fuellen(rot) Rahmen.fuellen(keine)
OOP: Farbverläufe und Regenbogen
Zeigt einen Zweifarbverlauf und den definierten Regenbogenverlauf auf benannten Grafikobjekten.
Himmel = rechteck(220, 120) Himmel.verlauf(hellblau, dunkelblau) Sonne = kreis(35) Sonne.verschieben(80, -45) Sonne.verlauf(gelb, orange) SternObjekt = stern(5, 38, 16) SternObjekt.verschieben(-80, 55) SternObjekt.regenbogen()
OOP: Transparente Objekte
Zeigt überlagerte benannte Grafikobjekte mit unterschiedlichen Transparenzwerten.
Hinten = rechteck(180, 110) Hinten.fuellen(dunkelblau) Vorne = kreis(70) Vorne.fuellen(gelb) Vorne.transparenz(35) Glas = rechteck(120, 70) Glas.verschieben(45, 25) Glas.verlauf(hellblau, blau) Glas.transparenz(60)
OOP: Schatten für Grafikobjekte
Zeigt denselben einfachen Schattenvertrag für 2D-Objekte, Text und Text3D.
Haus = rechteck(160, 95)
Haus.fuellen(hellblau)
Haus.schatten(ja)
Sonne = kreis(38)
Sonne.verschieben(110, -80)
Sonne.fuellen(gelb)
Sonne.schatten(ja)
Beschriftung = schreibe("Haus")
Beschriftung.verschieben(-55, 85)
Beschriftung.schatten(ja)
Titel = text3d("TILDA")
Titel.verschieben(-80, -130)
Titel.schatten(ja)
OOP: Leuchtende Grafikobjekte
Zeigt einen farbigen Leuchthof mit Standard- und eigener Stärke sowie die Kombination mit Schatten.
Sonne = kreis(42)
Sonne.fuellen(gelb)
Sonne.leuchten(orange)
Schild = rechteck(170, 85)
Schild.verschieben(0, 105)
Schild.verlauf(dunkelblau, blau)
Schild.leuchten(hellblau, 35)
Schild.schatten(ja)
Titel = text3d("TILDA")
Titel.verschieben(-95, -120)
Titel.leuchten(lila, 28)
3D-Objekte: Quader, Kugel, Zylinder und Kegel
Zeigt den gemeinsamen OOP-3D-Vertrag mit Vorderseite, Seitenfarbe, Tiefe und Glanz.
Kiste = quader(130, 80, 35) Kiste.vorderseite(hellbraun) Kiste.seite(braun) Kiste.glanz(20) Ball = kugel(42) Ball.verschieben(150, 0) Ball.vorderseite(hellblau) Ball.seite(dunkelblau) Ball.glanz(75) Dose = zylinder(80, 110, 28) Dose.verschieben(-150, 0) Dose.vorderseite(hellgrau) Dose.seite(dunkelgrau) Dose.glanz(60) Kegel1 = kegel(90, 120, 25) Kegel1.verschieben(0, 150) Kegel1.vorderseite(orange) Kegel1.seite(dunkelorange)
Herz und Unendlichkeitszeichen
Zwei zusätzliche OOP-Grafikobjekte: eine füllbare Herzform und eine liegende Acht als Linienform.
MeinHerz = herz(130, 110, 0, dunkelrot, rosa) MeinHerz.schatten(ja) Schleife = unendlich(160, 70, 0, dunkelblau) Schleife.verschieben(0, 140) Schleife.linienbreite(8) Schleife.leuchten(hellblau, 18)
OOP: Materialien
Fünf stilisierte Materialien auf 2D- und 3D-Grafikobjekten.
MetallDose = zylinder(90, 110, 28) MetallDose.material(metall) MetallDose.verschieben(-180, 0) HolzKiste = quader(100, 75, 28) HolzKiste.material(holz) HolzKiste.verschieben(-60, 0) GlasBall = kugel(42) GlasBall.material(glas) GlasBall.verschieben(60, 0) PlastikHerz = herz(90, 75) PlastikHerz.material(kunststoff) PlastikHerz.verschieben(150, 0) Stein = kreis(40) Stein.material(stein) Stein.verschieben(0, 120)
Willkommen bei Tilda Turtle (OOP). Hier lernst du Klassen, Objekte, Attribute und Methoden kennen.
Objektorientiert zeichnen mit Tilda Turtle
Im OOP-Bereich ist alles, was du zeichnest, ein Zeichenelement, bzw. ein Objekt. Ein Objekt besitzt einen Namen, Attribute und Methoden. Attribute sind Eigenschaften von Objekten. Methoden verändern die Attribute.1. Vom Zeichenbefehl zum Objekt
Auch in diesem Editor kannst programmieren wie im sogenannten einfachen Editor. Wenn duvor 100 eingibst, wird weiterhin eine Linie gezeichnet. Neu ist, dass Du auch mit Klammern arbeiten kannst. Beispielsweise kannst Du auch vor(100) schreiben. Kammern sind in der Objektorientierung ein wichtiges Element. Neu ist aber auch, dass Du die gezeichneten Elemente Variablen zuweisen kannst. Mit Variablen hast Du schon im einfachen Editor gearbeitet - du erinnerst dich sicher an den setze-Befehl. Wenn Du in der Objektorientierung bist, und Zeichenelemente in Variablen speicherst, brauchst du kein setze. Das sieht dann zum Beispiel so aus
Sonne = Kreis(50)
meineLinie = vor(100)
Titel = schreibe("Hallo")
Das nennt man Zuweisung. Jedes Objekt erhält einen Namen, über den es angesprochen werden kann. Beispielsweise kannst Du Methoden des Objektes aufrufen: Sonne.farbe(gelb). Jetzt wird der Kreis zur gelben Sonne.
2. Klassen
Eine Klasse beschreibt, welche Art von Objekt erzeugt wird. Im Karteireiter Klassen findest du die tatsächlich im Programm verfügbaren Klassen mit ihren Attribute und Methoden. Aus (fast) allen Klassen kannst du Zeichenobjekte generieren. Wie das geht, hast du schon gesehen:Sonne = Kreis(50). Hier wird ein Objekt der Klasse Kreis erzeugt. Es hat den Radius von 50. Genauso kannst Du ein Objekt der Klasse Linie erzeugen: meineLinie = Linie(100). Tilda erlaubt dir, die alte Schreibweise beizubehalten, also meineAndereLinie = vor(100) oder meineNochAndereLinie = vor 100.
3. Attribute beobachten
Attribute beschreiben den aktuellen Zustand eines Objekts, zum Beispiel Position, Farbe, Sichtbarkeit, Linienbreite usw. Im Objektinspektor kannst du die Attribute einsehen, aber nicht ändern.4. Objekte über Methoden verändern
Eine Methode gehört zu einem Objekt und wird mit einem Punkt aufgerufen:Sonne = kreis(50)
Sonne.farbe(gelb)
Sonne.linienbreite(3)
Sonne.verschieben(40, 20)
Aktuell gibt es zum Beispiel folgende Methoden: farbe(...) oder linienbreite(...) oderverschieben(...).
Du bist dran!
Schau dich im Karteireiter Klassen um. Untersuche mal welche Attribute und welche Methoden es in den unterschiedlichen Klassen gibt. Du wirst viele Attribute und Methoden finden, die es in allen Klassen gibt. Du wirst aber auch Attribute und Methoden finden, die nur in einer Klasse vorhanden sind. Zum Beispiel braucht nur ein Objekt der KlasseText ein Attribut, also eine Variable mit dem Namen text. Das ist logisch, denn nur ein Text-Objekt speichert Texte. Andererseits hat das Text-Objekte keinen abgeschlossenen Bereich, den Du mit einer Farbe füllen könntest. Daher fehlt die Methode fuellen() beim Text-Objekt, Du findest aber bei der Klasse Kreis, aus der das Objekt Sonne erzeugt wurde, die Methode fuellen(). Du gibst ihr eine Farbe mit. Wenn die Sonne schön gelb leuchtet, ist es sicher eine Sonne um die Mittagszeit. Ist Deine Sonne orange, denkst Du bestimmt an das Morgenlicht einer aufgehenden Sonne.
5. Objektinspektor
Neu in dieser Version ist der Objektinspektor. Du findest ihn direkt neben Deinem gewohnten Editor. Klick auf den KarteireiterObjektinspektor
Der Objektinspektor zeigt alle Objekte der aktuellen Szene. Tippe ein Objekt auf der Zeichenfläche oder in der kompakten Objektliste an. Danach siehst du ausschließlich die Details des ausgewählten Objekts: Klasse, Attribute und verfügbare Methoden. Wenn Du im Editor nur vor 20 geschrieben hast, erzeugt Tilda trotzdem ein Objekt daraus. Dieses Objekt hat keinen Namen, ist also ein unbenanntes Objekt. Du kannst einem unbenannten Objekt im Objektinspektor einen gültigen Namen geben. Danach kannst du Methoden auf dem Objekt aufrufen.