[Squeakland] Where can I find a description of make siblings
Ned Konz
ned at bike-nomad.com
Thu Dec 23 12:27:00 PST 2004
On Wednesday 22 December 2004 12:33 am, stéphane ducasse wrote:
> I was showing to a teacher how to use make siblings and we were
> confused by the behavior.
> Is there somewhere a description of the difference between copy and
> make siblings.
Copy (green halo handle, "Duplicate") is now the default for an
UnscriptedPlayer, that is, one without scripts or variables). For an
unscripted player, "duplicate" and "make a sibling" do exactly the same
thing.
In the case of such a morph, this merely duplicates the Morph. Since there
isn't a Player uniclass this doesn't have to get copied.
In the case of a scripted player, duplication also copies the Player uniclass,
making a separate class. This used to be the default for the green halo
handle. It is now harder to get to for a scripted player; you can do so via
the red halo menu/halo actions/duplicate.
Make a sibling (olive halo handle) uses the same Player uniclass, if any. So
changes to scripts or instance variables are shared by all the siblings. This
is the same thing (and is implemented) as having multiple instances of a
given class in Smalltalk.
This is now the default for scripted players.
> Apparently the behavior (duplicate) changed between 3.6-3.7 and 3.8. in
> 3.8 this is now make siblings by default.
> I checked a bit and it seems that indeed all the siblings are sharing
> the same behavior and the variables are local to each object.
Yes, this is most often what is wanted.
> So one teacher asked me how to get back the default copy behavior I
> browsed in the halos menus but I could not find that anymore. So what
> is the status of the makesibling/copy behavior? Is copy simply
> deprecated (which makes sense to me).
It's still there in the menu, but 2 levels deep in the red halo menu: "halo
actions/duplicate".
Also, the "copy" property/command in the Etoy vocabulary creates a sibling.
--
Ned Konz
http://bike-nomad.com
More information about the Squeakland
mailing list