[Squeak-ev] Re: Smalltalk Idiome - Bilderimport

Bert Freudenberg bert at freudenbergs.de
Mon Nov 15 10:41:31 UTC 2010


On 14.11.2010, at 20:39, Markus Schlager wrote:

> Meine Schüler sollen Spiele oder Animationen programmieren, bei denen beispielsweise irgendwelche Figuren vorkommen sollen, die ein nettes Kostüm brauchen. Das ganze sollen sie später mit Monticello bei mir abgeben können.
> 
> Meine Idee wäre nun, für solche Figuren Unterklassen von ImageMorph abzuleiten und mit einer anderen DefaultForm auszustatten.

Du brauchst keine Unterklassen. Und die DefaultForm ist genau das - das Bild, was genommen wird, wenn du kein anderes setzt. Also setze einfach das Bild, was du magst, nachdem du eine Instanz von ImageMorph erzeugt hast.

> Nun ist die erste Frage die, wo/wie ich die DefaultForm überhaupt im Smalltalk-Image finde und sie ggf. verändere.
> Die zweite Frage ist die, ob ein Verändern überhaupt sinnvoll ist, nachdem sich DefaultForm doch nach recht globaler Variable anhört.

Du willst die nicht verändern. Und gefunden hast du sie schon, im Browser.

> Was ich haben möchte, wäre eben so etwas wie DefaultForm.

Nein. Was du willst ist ein ImageMorph, der eine bestimmte Form anzeigt. Da du auf Monticello bestehst, mach einfach eine Ressourcen-Klasse, die alle Bilder, Töne, usw. hält. Am besten in einem Dictionary als Klassenvariable. So etwas gibt es zwar schon (z.B. als ScriptingSystem formDictionary) aber da du ja auch Pharo verwenden willst, ist nicht sicher, dass das nicht bald entfernt wird (falls es noch existiert). Ist auch "sauberer" das selbst zu machen, wenn auch mit mehr Arbeit verbunden.

- Bert -