Hi, Randy,
If you are placing your new object in a "Holder-like"
container, then whatever x and y coordinates you give the object are
irrelevant, because Holders lay out their contents left-to right and
top-to-bottom, sort of like words get laid out in lines on a page in
typesetting.
If, on the other hand, you are placing your new object in a
container that is behaving more "Playfield-like," then
objects will stay exactly where you place them, and in such cases, you
can simply directly set the desired x and y coordinates in the script
that creates the new object you are adding.
A common usage pattern is to place the newborn in a player-valued
variable so that you can then talk to it in your script. In the
following example, a new sibling of amoeba is created and added to the
world at an offset of (50, 100) from the original amoeba:
amoeba's betterHalf <- amoeba's
copy.
amoeba's betterHalf's x increase by
50.
amoeba's betterHalf's y increase by
100.
world include-at-end amoeba's
betterHalf
At the Wednesday "intermediate etoys" session at
Squeakfest this week, let's plan on working through a complete example
of this sort -- that will be very instructive!
Cheers,
-- Scott
At 2:20 PM -0500 8/8/05, Randy Heiland wrote:
Scott,
Extending this further, I'd then like to be able to
place the newly created sibling at a specified location in the
container/playfield. Since it's so close to Squeakfest, you
can wait and educate me in person if you want. I did see there
was also an "include at cursor" tile on the Playfield which I'm
assuming would be used to do this placement, but not sure how I might
use it successfully.
--Randy
From: Scott Wallace
[mailto:scott.wallace@squeakland.org]
Sent: Friday, August 05, 2005 4:05 PM
To: Randy Heiland
Cc: 'squeakland.org mailing list'
Subject: Re: [Squeakland] make sibling from
script
Hi,
Randy,
Yes, it's
called "copy", and it can be found in the
"miscellaneous" category.
When you
execute "Car's copy", you'll end up with a sibling of
Car.
However, if
you don't *place* it somewhere, you won't see it. The standard
idiom for placing an object somewhere via script is to tell the
*container* in which you place it to "include"
it.
Look in the
"collections" category of the container's viewer for various
ways to "include" an object
Here's a
typical usage pattern:
Cheers,
--
Scott
At 10:18 AM
-0500 8/5/05, Randy Heiland wrote:
Is there a
tile to create a sibling of an obj? Given that a search
on
'sibling'
only turned up 1 tile, I'm guessing not. But it'd sure be
nice!
:)
--Randy