Hallo, Squeakers!
Hat jemand ein Codesnipplet, wo Text entlang einer Kurve, Linie, rand eines gemalten Objektes oder über eine Ellipse fließt? (Wie Demo in Squeak 3.6!!) Mir scheint, daß in ETOYS nicht alle vordefinierten Objekte über ausreichende Methoden verfügen... Sehr seltsam ist es, wenn man z.B. einen Taschenrechner baut, 3 Textfenster hat, die man Eingabe1, Eingabe2, Ausgabe nennt, und dann einen +-Button bastelt, der die Inhalte addiert. Kein Problem - nur - lösche ich die beiden Textfenster und ziehe aus dem Objektbaukasten neue hin, benenne sie gleich, so werden sie intern in Squeak mit Eingabe3 und Eingabe4 bezeichnet, sodaß ich das Skript anpassen musste. Woran liegt das? Hatte die Garbage-Collection noch die Objektnamen behalten, und erhöht intern dann eigenständig die Zahl, oder woran liegt's? Weiterhin ist mir aufgefallen, daß z.B. im Image Tweak 3.8 eine gehübschte Variante von ETOYS drin ist, die sogar noch einige Dinge kann, die das normale EToys nicht kann, z.B. Bilder langsam seitwärts zu rotieren.... Ich möchte gerne EToys noch um einige Features erweitert sehen, hat jemand vielleicht ein Tutorial, welches mir einen Überblück über die internen Zusammenhänge von EToys gibt? Es geht um folgendes: Wie übernehme ich z.B. aus Etoys objekten, wie Linie die Koordinaten in selber geschriebene Skripte .... mir fehlt nämlich noch ein sich mit bewegender Pleuel zu meiner Kurbelwelle mit Zylinder ... den LineMorph habe ich ja schon gefunden, nur - er bietet mir keine Methoden für die xy-Koordinaten der Endpunkte an ... welche andere Methoden habe ich? Ich würde gerne so praktische Kleinigkeiten noch ergänzen ... Auch weiß ich z.B. nicht, wie ich Eingabe aus Textfenstern in eine Formel übernehme, daß ich einen XY-Plot oder eine Kurvendiskussion eines Polynoms 2. Grades z.B. mal machen kann....(nicht das Plotten des Graphen ist das Problem, sondern die Übergabe der Werte aus getNumericValues in eine in Etoys definierte Variable hinein ... Was mich an Squeak 3.9 nervt ist, daß viele Projekte/Beispiele aus älteren Versionen einfach nicht laufen ...Balloon 3D stürzt ab ... nun Textverarbeitung und Tabellenkalkulation mit Squeak ist ja wirklich einfach ... Powerpoint, Access ist ja auch enthalten - wirklich Klasse.... Aber wenn ich mir diese Fenster gemalt habe, Daten speichere, alles wunderbar ... ich möchte jedoch, daß die Daten in ein CSV - Datei auf der Festplatte generell abgelegt werden ... mir behagt die Speicherung im Image nicht wirklich so gut ... auch die mit dem Karteikasten nicht so ... wie stelle ich den um, damit ich größere Textobjekte indizieren und auf Festplatte speichere ... Haben die Squeak Planer das nicht vorgesehen? Und noch eine Frage liegt mir am Herzen bezüglich Siblings ... Ich programmiere ein kurzes Billiard-Skript, kein Problem, die Kugeln laufen perfekt, mit Kollision untereinander, verschwinden in den Pockets ... Dann mache ich Geschwisterchen (Siblings) In Etoys, auch wunderbar ... Kugel1... Kugel1s, Kugel2s .... und irgendwann stelle ich fest, daß alle nur ein Gehirn haben, also an ein Skript gekoppelt sind. Wie erzeuge ich unabhängige Kopien in EToys, die wirklich eigenständig editierbar sind, und wie kopiere ich eigentlich Kacheln in andere Skripte? Und an wen melde ich am besten die unzähligen Bugs in Etoys, die ich gefunden habe, wird Etoys noch wirklich gepflegt und weiterentwickelt? So, viele konkrete Fragen, bin dankbar für jede Antwort .... Viele Grüße, Guido Stepken |
Hallo Guido,
> > Hat jemand ein Codesnipplet, wo Text entlang einer Kurve, Linie, rand > eines gemalten Objektes oder über eine Ellipse fließt? (Wie Demo in > Squeak 3.6!!) Geht immer noch. Ellipse "aufmachen" (accept drops), Text reindroppen, Text >> fill owner's shape, aus demselben Text>> add successor", dieses (leere) Textfeld in anderen Morph, auch diesen Text >> fill owner's shape, et voila.... (obiges sind Menu Punkte im roten Halo) > > Mir scheint, daß in ETOYS nicht alle vordefinierten Objekte über > ausreichende Methoden verfügen... Yepp, da kann man noch beliebig viel verbessern. > > Sehr seltsam ist es, wenn man z.B. einen Taschenrechner baut, 3 > Textfenster hat, die man Eingabe1, Eingabe2, Ausgabe nennt, und dann > einen +-Button bastelt, der die Inhalte addiert. Kein Problem - nur - > lösche ich die beiden Textfenster und ziehe aus dem Objektbaukasten > neue > hin, benenne sie gleich, so werden sie intern in Squeak mit > Eingabe3 und > Eingabe4 bezeichnet, sodaß ich das Skript anpassen musste. Woran liegt > das? Hatte die Garbage-Collection noch die Objektnamen behalten, und > erhöht intern dann eigenständig die Zahl, oder woran liegt's? spendieren, dann hast Du vollen Zugriff (ich vermute, die beiden lagen noch im Trash, aber die Verbindung passiert ja aber auch nicht (zum Glueck!!) ueber Namen...) > > Weiterhin ist mir aufgefallen, daß z.B. im Image Tweak 3.8 eine > gehübschte Variante von ETOYS drin ist, die sogar noch einige Dinge > kann, die das normale EToys nicht kann, z.B. Bilder langsam > seitwärts zu > rotieren.... > > Ich möchte gerne EToys noch um einige Features erweitert sehen, hat > jemand vielleicht ein Tutorial, welches mir einen Überblück über die > internen Zusammenhänge von EToys gibt? Es geht um folgendes: > > Wie übernehme ich z.B. aus Etoys objekten, wie Linie die > Koordinaten in > selber geschriebene Skripte .... mir fehlt nämlich noch ein sich mit > bewegender Pleuel zu meiner Kurbelwelle mit Zylinder ... den LineMorph > habe ich ja schon gefunden, nur - er bietet mir keine Methoden für die > xy-Koordinaten der Endpunkte an ... welche andere Methoden habe > ich? Ich > würde gerne so praktische Kleinigkeiten noch ergänzen ... Auch weiß > ich z.B. nicht, wie ich Eingabe aus Textfenstern in eine Formel > übernehme, daß ich einen XY-Plot oder eine Kurvendiskussion eines > Polynoms 2. Grades z.B. mal machen kann....(nicht das Plotten des > Graphen ist das Problem, sondern die Übergabe der Werte aus > getNumericValues in eine in Etoys definierte Variable hinein ... "To extend the vocabulary of a Morph, you can just add methods named like additionsToVocabularyCategory* to the class side (look for such methods to get an idea). For each item, you typically need a method in Player and the corresponding method(s) in your Morph class. For example, here is Morph class >> additionsToViewerCategoryLayout "Answer viewer additions for the 'layout' category" ^#( layout ( (slot clipSubmorphs 'Whether or not to clip my submorphs' Boolean readWrite Player getClipSubmorphs Player setClipSubmorphs:) )) So this adds the 'clipSubmorphs' slot to the 'layout' vocabulary category. That slot (a pseudo-variable) is read/write, and is implemented by the methods #getClipSubmorphs and #setClipSubmorphs on Player. Those methods just call back to the morph that is the Player's costume: Player>>getClipSubmorphs "Getter for costume's clipSubmorphs" ^ costume renderedMorph clipSubmorphs The other kind of thing you can add (besides the pseudo-variable 'slot' type) is the 'command' type, as in: additionsToViewerCategoryMiscellaneous "Answer viewer additions for the 'miscellaneous' category" ^#( miscellaneous ( (command doMenuItem: 'do the menu item' Menu) (command show 'make the object visible') These don't have an associated return value, but they can have a single typed parameter." Aus einer Mail von Ned Konz an die Squeak-Dev-liste. > > Was mich an Squeak 3.9 nervt ist, daß viele Projekte/Beispiele aus > älteren Versionen einfach nicht laufen ...Balloon 3D stürzt ab ... nun > Textverarbeitung und Tabellenkalkulation mit Squeak ist ja wirklich > einfach ... Powerpoint, Access ist ja auch enthalten - wirklich > Klasse.... > Aber wenn ich mir diese Fenster gemalt habe, Daten speichere, alles > wunderbar ... ich möchte jedoch, daß die Daten in ein CSV - Datei auf > der Festplatte generell abgelegt werden ... mir behagt die Speicherung > im Image nicht wirklich so gut ... auch die mit dem Karteikasten nicht > so ... wie stelle ich den um, damit ich größere Textobjekte indizieren > und auf Festplatte speichere ... Haben die Squeak Planer das nicht > vorgesehen? Fuer Etoys ist 3.9 nicht das beste System, am einfachsten Du nimmst entweder das OLPC image, oder das Teil von Squeakland. Wenn Du lieber was mit Tweak machen moechtest, dann das neueste Croquet... > > Und noch eine Frage liegt mir am Herzen bezüglich Siblings ... Ich > programmiere ein kurzes Billiard-Skript, kein Problem, die Kugeln > laufen > perfekt, mit Kollision untereinander, verschwinden in den Pockets ... > Dann mache ich Geschwisterchen (Siblings) In Etoys, auch wunderbar ... > Kugel1... Kugel1s, Kugel2s .... und irgendwann stelle ich fest, daß > alle > nur ein Gehirn haben, also an ein Skript gekoppelt sind. Wie > erzeuge ich > unabhängige Kopien in EToys, die wirklich eigenständig editierbar > sind, > und wie kopiere ich eigentlich Kacheln in andere Skripte? Letzteres geht leider (noch?) nicht, war aber wahrscheinlich einer der treibenden Faktoren hinter Traits... ;-) Ersteres mit dem hell(!)gruenen Kopierknopf, also sogenannte deep copies machen, da kopierst Du auch die Skripte mit und ikannst diese so unabaengig aendern. > > Und an wen melde ich am besten die unzähligen Bugs in Etoys, die ich > gefunden habe, wird Etoys noch wirklich gepflegt und weiterentwickelt? Generell lieber viele Mails mit weniger Fragen, ich hab grad Sorge, dass sich gleichzeitig noch jemand die Muehe macht, waere ja schade. Und wenn du echte Fehler mit Etoys findest, dann am besten schauen, ob sie auch in der OLPC Version sind, dort gibt es auch eine Trac Bug DB und eine Mailingliste, die Kollegen sind Dir fuer jeden gefundenen Fehler dankbar. > > So, viele konkrete Fragen, bin dankbar für jede Antwort .... > Viele Gruesse und keep on Etoying... Markus |
Markus hat ja schon schön geantwortet, nur noch ein paar Anmerkungen:
On Mar 6, 2007, at 23:21 , Markus Gaelli wrote: >> Wie übernehme ich z.B. aus Etoys objekten, wie Linie die >> Koordinaten in >> selber geschriebene Skripte Im von Markus erwähnten OLPC-Etoys gibt es ein neues Vokabular für Polygone und Kurven, mit dem man auf Kontrollpunkte einzeln zugreifen kann. >> Auch weiß ich z.B. nicht, wie ich Eingabe aus Textfenstern in eine >> Formel übernehme, daß ich einen XY-Plot oder eine Kurvendiskussion >> eines Polynoms 2. Grades z.B. mal machen kann....(nicht das >> Plotten des Graphen ist das Problem, sondern die Übergabe der >> Werte aus getNumericValues in eine in Etoys definierte Variable >> hinein ... Versteh ich nicht ... du kannst doch Variablen einfach zuweisen? >> Und noch eine Frage liegt mir am Herzen bezüglich Siblings ... Ich >> programmiere ein kurzes Billiard-Skript, kein Problem, die Kugeln >> laufen >> perfekt, mit Kollision untereinander, verschwinden in den Pockets ... >> Dann mache ich Geschwisterchen (Siblings) In Etoys, auch >> wunderbar ... >> Kugel1... Kugel1s, Kugel2s .... und irgendwann stelle ich fest, >> daß alle >> nur ein Gehirn haben, also an ein Skript gekoppelt sind. Wie >> erzeuge ich >> unabhängige Kopien in EToys, die wirklich eigenständig editierbar >> sind, >> und wie kopiere ich eigentlich Kacheln in andere Skripte? > > Letzteres geht leider (noch?) nicht, war aber wahrscheinlich einer > der treibenden Faktoren hinter Traits... ;-) Sollte über den Halo eigentlich funktionieren. > Ersteres mit dem hell(!)gruenen Kopierknopf, also sogenannte deep > copies machen, > da kopierst Du auch die Skripte mit und ikannst diese so unabaengig > aendern. Mit der Umschalttaste kann man das eine oder andere Verhalten auswählen ... (steht auch in Hilfeballon des Kopiersmarties). >> Und an wen melde ich am besten die unzähligen Bugs in Etoys, die ich >> gefunden habe, wird Etoys noch wirklich gepflegt und >> weiterentwickelt? Die meiste Entwicklungszeit geht derzeit in die OLPC-Version. Die ist allerdings ein bewegliches Ziel, Squeakland ist stabil. Aufgrund der angepassten Fonts sieht es auf einem normalen Monitor recht ungewöhnlich aus - es wäre z.B. ein nettes Community-Projekt, diese Anpassungen konfigurierbar zu machen. > Und wenn du echte Fehler mit Etoys findest, dann am besten schauen, > ob sie auch in der OLPC Version sind, dort gibt es auch eine Trac > Bug DB und eine Mailingliste, die Kollegen sind Dir fuer jeden > gefundenen Fehler dankbar. Sind wir :) Es gibt auch noch den normalen Bugtracker für die Squeaklandversion: http://bugs.impara.de/ (als Projekt "squeakland" auswählen). - Bert - |
In reply to this post by stepken
Hallo, Markus!
Danke für Deine Antworten. >> Squeak 3.6!!) >> > Geht immer noch. Ellipse "aufmachen" (accept drops), Text > reindroppen, Text >> fill owner's shape, > aus demselben Text>> add successor", dieses (leere) Textfeld in > anderen Morph, auch diesen Text >> fill owner's shape, > et voila.... (obiges sind Menu Punkte im roten Halo) > Nun, Danke, ich habe es hinbekommen. Wenn man es jedoch genau so macht, wie Du beschrieben hast, ist der eigene, rote Halo des Textes innerhalb der Ellipse verschwunden, außer - ich droppe mit geöffneten Halos den Text in die Ellipse, dann kann ich die Eigenschaften des Textes noch verändern. Oder liegt es an mangelnden Buttons meines Laptops, daß ich da nicht mit ALT/Shift/CTRL-Linke Maustaste / Rechte Maustaste dran komme? Leider hast Du nicht beantwortet, wie ich z.B. Text entlang einer Kurve fließen lasse ... wie geht das? Oder ein Pendel? (Wo ist ein LineMorph mit Endkoordinaten?) Außerdem - es gibt verschiedene Text - Morphs, welche verschiedene Methoden anbieten, sich (fließenden) Formen anzupassen ... nicht jeder Textmorph kann das-> fehlende Orthogonalität? >> Mir scheint, daß in ETOYS nicht alle vordefinierten Objekte über >> ausreichende Methoden verfügen... >> > Yepp, da kann man noch beliebig viel verbessern. > Ich bin ja schon mal froh, daß OLPC der "richtige" Ansprechpartner für Verbesserungen ist ....Wie wäre es, das Vokabular zumindest mal "Orthogonal" machen, daß man sieht, was eigentlich alles noch zu tun ist, oder was explizit noch nicht implementiert ist? Wenn ich den Code durchschaue, so finde ich viel mehr Methoden von Objekten, als über ETOYS angeboten werden. Warum wird das nicht einmal angepasst? > Fuer Etoys ist 3.9 nicht das beste System, am einfachsten Du nimmst > entweder das OLPC image, > oder das Teil von Squeakland. > > Das OLPC Image, dem Fork von 3.8.xx besitzt noch keine deutsche Language - Anpassung, richtig? Wo ist das Language - File, wie passe ich es an und baue es ein? Danke und viele Grüße, Guido |
On Mar 7, 2007, at 16:53 , stepken wrote: > Hallo, Markus! > > Danke für Deine Antworten. >> Geht immer noch. Ellipse "aufmachen" (accept drops), Text >> reindroppen, Text >> fill owner's shape, >> aus demselben Text>> add successor", dieses (leere) Textfeld in >> anderen Morph, auch diesen Text >> fill owner's shape, >> et voila.... (obiges sind Menu Punkte im roten Halo) >> > Nun, Danke, ich habe es hinbekommen. Wenn man es jedoch genau so > macht, wie Du beschrieben hast, ist der eigene, rote Halo des > Textes innerhalb der Ellipse verschwunden, außer - ich droppe mit > geöffneten Halos den Text in die Ellipse, dann kann ich die > Eigenschaften des Textes noch verändern. Oder liegt es an > mangelnden Buttons meines Laptops, daß ich da nicht mit ALT/Shift/ > CTRL-Linke Maustaste / Rechte Maustaste dran komme? Versteh ich nicht. Das "accept drops" benutze ich nicht sondern bette alles manuell über das Menü ein. > Leider hast Du nicht beantwortet, wie ich z.B. Text entlang einer > Kurve fließen lasse ... wie geht das? Nimm einen Text. Und eine Kurve. Bette den Text in die Kurve ein, das geht mglw. leichter wenn du die kurzzeitig schließt. Mach die Kurve wieder auf. Im Halomenü des Texts ist dann der Menüeintrag zum entlang der Kurve fließen. > Oder ein Pendel? (Wo ist ein LineMorph mit Endkoordinaten?) > Außerdem - es gibt verschiedene Text - Morphs, welche verschiedene > Methoden anbieten, sich (fließenden) Formen anzupassen ... nicht > jeder Textmorph kann das-> fehlende Orthogonalität? Ja, es gibt verschiedene optimierte Varianten von Morphs die eben nicht alles können, dafür aber fixer sind. > Ich bin ja schon mal froh, daß OLPC der "richtige" Ansprechpartner > für Verbesserungen ist ....Wie wäre es, das Vokabular zumindest mal > "Orthogonal" machen, daß man sieht, was eigentlich alles noch zu > tun ist, oder was explizit noch nicht implementiert ist? Wenn ich > den Code durchschaue, so finde ich viel mehr Methoden von Objekten, > als über ETOYS angeboten werden. Warum wird das nicht einmal > angepasst? Weil Etoys in der derzeitigen Form kein generelles Programmiersystem sein soll sondern eine Auswahl für Kinder im Grundschulalter trifft. > Das OLPC Image, dem Fork von 3.8.xx besitzt noch keine deutsche > Language - Anpassung, richtig? Doch - oder kannst du bei dir die Sprache nicht umstellen? Ess kann natürlich sein dass die neuesten Sachen noch ncith übersetzt sind. - Bert - |
On Wed, 07 Mar 2007 20:36:55 +0100, Bert Freudenberg wrote:
> On Mar 7, 2007, at 16:53 , stepken wrote: ... >> Leider hast Du nicht beantwortet, wie ich z.B. Text entlang einer Kurve >> fließen lasse ... wie geht das? > > Nimm einen Text. Und eine Kurve. Bette den Text in die Kurve ein, das > geht mglw. leichter wenn du die kurzzeitig schließt. Mach die Kurve > wieder auf. Im Halomenü des Texts ist dann der Menüeintrag zum entlang > der Kurve fließen. Erst-klassiges Rezept, jetzt kann ich das plötzlich auch (Text entlang einer Kurve fliessen lassen :) Danke Bert. /Klaius |
In reply to this post by stepken
Hallo, Bert, hallo Markus!
Danke auch Dir für die Info's. Ich hatte ein anderes Problem, welches auch wahrscheinlich viele haben, mit Notebooks ... erst mit Shift-Alt-LinkeMausTaste kommt ich an die Methoden des bereits eingebetteten Textes heran. Erst dann macht er über das rote Halo ein erweitertes Menü auf, wo dann neue Methoden sich zeigen, z.B. "follow owners curve", aber erst dann halt. Es funktioniert nicht nur zwischen Text und Kurve (aus dem Lager oder Objekt Baukasten) sondern auch mit "gebogener Pfleil. Leider sonst mit fast nix. Wenn man andere Text-Objekte verwendet, funktioniert's auch nicht ... Schade, keine "Orthogonalität" in den Methoden der Objekte - ich vermute mal, daß dies ein Tribut an die langsame Entwicklung von Squeak ist ... viel Refactoring erforderlich? Oder sind es Kollisionen zwischen mehreren verschiedenen Modellen, welche gleichzeitig verfolgt wurden? Der Hit sind ja die neuen Objekte in dem OLPC - Image - Connectoren .... das ist genau das, was ich noch gesucht hatte, um z.B. "mal eben" eine Kurbelwelle mit Lager, Pleuel, Zylinder zu animieren ... das dauerte keine 2 Minuten, dann drehte sich die Kurbelwelle bei mir ... Das Objekt PIN verbindet Endpunkte von Kurven, Linien mit sich bewegenden Objekten ... noch wilder sind die "Random-Connectoren" ... da kann man echte Videokunst mit machen .... Ich habe den Eindruck, daß das OLPC Image viel weiter ist, als Squeak 3.9 von Squeakland, aber ich vermisse den Packetlader, mit welchem ich Projekte nachladen kann... oder sind die inzwischen viel zu "inkompatibel" geworden? Mir ist es nämlich nicht gelungen, so einige Projektdateien aus 3.9 auf dem OLPC - Image ans Laufen zu bringen? Läuft CROCKET auf OLPC - Image? Was überhaupt läuft nicht mehr, und warum? Das OLPC Image erscheint mir langsamer, weil viele Logfiles mitgeführt werden, wie kann ich die abschalten? Vielen Dank auch Euch beiden ... ich komme nun erst einmal wieder gut weiter ... Guido Stepken |
Free forum by Nabble | Edit this page |