Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
programme:eos:faq [2017/10/04 08:40] – martin | programme:eos:faq [2021/12/29 10:40] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== FAQ ====== | ||
+ | Bis ich Zeit finde, eine systematische Anleitung zu erstellen, finden Sie hier Antworten auf häufig gestellte Fragen. | ||
+ | |||
+ | |||
+ | ===== Transformation mehrerer Objekte gleichzeitig (Verwendung von Gruppen!) ===== | ||
+ | Will man mehrere Objekte gleichzeitig transformieren (z.B. drehen), so geht das mit Hilfe eines Objektes der Klasse GRUPPE. Ein solches Objekt kann beliebig viele andere Objekte (auch andere Gruppen!) enthalten. Jede Transformation einer Gruppe wirkt auf alle Objekte, die in der Gruppe enthalten sind. | ||
+ | |||
+ | Das Hinzufügen von Objekten zu einer Gruppe geschieht mit Hilfe der Methoden schlucke(Objekt o) bzw. kopiere(Objekt o) der Klasse GRUPPE. Hier ein Beispiel, an dem leicht klar wird, wozu das ganze gut ist: | ||
+ | |||
+ | |{{gruppenbeispiel_0.png|Ausgangssituation}}|{{gruppenbeispiel_1.png|Drehen der Rechtecke einzeln}}|{{gruppenbeispiel_2.png|Drehen der Gruppe}}| | ||
+ | | Ausgangssituation | ||
+ | <code pascal> | ||
+ | r1:RECHTECK | ||
+ | r2:RECHTECK | ||
+ | |||
+ | g:GRUPPE | ||
+ | |||
+ | r2.verschieben(30, | ||
+ | r2.füllfarbeSetzen(gelb) | ||
+ | |||
+ | wiederhole 360 mal | ||
+ | | ||
+ | | ||
+ | *wiederhole | ||
+ | |||
+ | g.schlucke(r1) | ||
+ | g.schlucke(r2) | ||
+ | |||
+ | wiederhole 360 mal | ||
+ | | ||
+ | *wiederhole | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Was ist der Unterschied zwischen " | ||
+ | Anhand eines Beispiels wird der Unterschied am einfachsten klar: | ||
+ | {{ : | ||
+ | <code pascal> | ||
+ | r1:RECHTECK | ||
+ | r2:RECHTECK | ||
+ | g1:GRUPPE | ||
+ | |||
+ | r2.verschieben(30, | ||
+ | r1.füllfarbeSetzen(gelb) | ||
+ | r2.füllfarbeSetzen(rot) | ||
+ | |||
+ | g1.schlucke(r1) | ||
+ | g1.kopiere(r2) | ||
+ | |||
+ | g1.verschieben(0, | ||
+ | </ | ||
+ | Der Methodenaufruf %%g1.schlucke(r1)%% bewirkt, dass das Objekt %%r1%% zum Gruppe-Objekt %%g1%% hinzugefügt wird. Das Objekt wird also Bestandteil der Gruppe. \\ | ||
+ | |||
+ | Der Methodenaufruf %%g1.kopiere(r2)%% bewirkt, dass **eine Kopie** des Objekts %%r2%% zur Gruppe %%g1%% hinzugefügt wird. Das Objekt r2 wird selbst nicht Bestandteil der Gruppe. Offenbar wird der Unterschied, | ||
+ | |||
+ | |||
+ | ====== Warum läuft EOS nicht auf MAC-Rechnern? | ||
+ | EOS ist in Delphi 6 geschrieben und läuft leider nur auf Windows Betriebssystemen. Für plattformübergreifende Programmierung (Java) war zum Zeitpunkt der Entwicklung (ca. 2004) mein damaliger Rechner einfach zu langsam. | ||
+ | |||
+ | Die einzige Möglichkeit, | ||
+ | |||
+ | ====== Wie kann ich den Hintergrund ändern? ====== | ||
+ | Sobald man ein Objekt instanziert, | ||
+ | < | ||
+ | r: Rechteck | ||
+ | </ | ||
+ | instanziert EOS ein Zeichenfenster, | ||
+ | < | ||
+ | f:FENSTER | ||
+ | r:RECHTECK | ||
+ | |||
+ | f.hintergrundfarbeSetzen(grün) | ||
+ | f.gitteraus() | ||
+ | |||
+ | f.zeichne(r) | ||
+ | </ | ||
+ | Erst nach dem Ausführen der Anweisung '' | ||
+ | |||
+ | |||