Text über Kurve fließen lassen, etc. ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Text über Kurve fließen lassen, etc. ?

stepken
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



Reply | Threaded
Open this post in threaded view
|

Re: Text über Kurve fließen lassen, etc. ?

Markus Gälli-3
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?
In so einem Fall am besten Variablen (player) fuer den Rechner  
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
Reply | Threaded
Open this post in threaded view
|

Re: Text über Kurve fließen lassen, etc. ?

Bert Freudenberg
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 -



Reply | Threaded
Open this post in threaded view
|

Re: Text über Kurve fließen lassen, etc. ?

stepken
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

Reply | Threaded
Open this post in threaded view
|

Re: Text über Kurve fließen lassen, etc. ?

Bert Freudenberg

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 -



Reply | Threaded
Open this post in threaded view
|

Re: Text über Kurve fließen lassen, etc. ?

Klaus D. Witzel
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

Reply | Threaded
Open this post in threaded view
|

Re: Text über Kurve fließen lassen, etc. ?

stepken
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