Vielleicht führt das hier auch einmal zu einer Erweiterung der Dokumentation auf squeak.de. Wer weiß? Aber ich könnte mir denken, daß ich mit diesen Fragen nicht ganz alleine dastehe. Vorneweg muß ich anmerken, daß ich 'Squeak by Example' noch nicht gelesen haben. Vielleicht klärt sich das eine oder andere dadurch.
Hintergrund der Fragen: Es geht hier nicht primär um die eToys, sondern um Smalltalk mit Hilfe von squeak.
1. In welcher Form soll ich meine Werke speichern? Als Projekt (.pr) oder als Monticello-Paket (.mcz) oder in noch einer anderen Form? Welche Variante ist in welcher Situation empfehlenswert? Wann/Wozu empfiehlt es sich, das ganze Image zu speichern?
"Soweit ich Squeak bislang verstanden zu haben glaube, erscheint mir Monticello die sinnvollste Variante, auf die ich meine Schüler auch zu trimmen versuche, wenn ich fertige Werke von ihnen haben möchte."
2. Ein Projekt ist darauf angewiesen, Dateien aus dem Dateisystem des Rechners zu laden und evtl. auch zu schreiben (etwa Rastergraphiken als Kostüme für Morphe oder Audiodateien, Datensätze oder was auch immer). Gibt es für solche Dateien 'übliche' Verzeichnisse als Speicherorte?
3. Wie bringe ich solche Verzeichnisse/Dateien in ein Monticello-Paket für das ganze Projekt? Werden die dann beim Einspielen des Paketes in das Image auf dem Rechner auch wieder angelegt?
4. Wie spricht man in Smalltalk das Verzeichnis an, in dem sich das Image auf dem Rechner befindet bzw. das Verzeichnis, in dem z.B. Projekte (.pr) standardmäßig gespeichert werden (das squeaklets- oder auch MySqueak-Verzeichnis)? Wie legt man diese Verzeichnisse in den Einstellungen (preferences) fest?
5. Ich habe mit den eToys ein MorphObjekt erzeugt und nach meinen Bedürfnissen angepaßt. Z.B. verfügt es nun über einige eToy-Skripte und ein neues Kostüm, das ich per drag&drop einfach in das Image gezogen habe. Ursrünglich könnte das MorphObjekt beispielsweise ein EllipseMorph gewesen sein, das ich entweder aus einer Klappe wie dem Lager gezogen oder aber auch von einem Workspace aus mittels 'Ellipsemorph new openInWorld' erzeugt habe. Das von mir angepaßte Objekt würde ich gerne als Prototyp für eine neue Klasse nutzen. Wie mache ich das? Bei den Halos habe ich die Option zum Erzeugen einer Unterklasse gefunden, aber Instanzen dieser Klasse sehen wieder genauso aus wie die ursprünglichen Ellipsen. Dabei wollte ich meine Anpassungen/Ergänzungen doch als Default-Werte von Instanzvariablen und die neuen Skripte als Methoden/Selektoren der Unterklasse sichern. Was mache ich falsch?
Vielen Dank für Antworten auf diese Fragen.
Markus ----------------------------------------------- Markus Schlager m.slg(at)gmx.de
squeak-ev@lists.squeakfoundation.org