In attempting to create a pattern consisting of a series of dots I drew an initial dot and used the Copy tile (found in miscellaneous category) followed by forward #. If i set this script to ticking and stop it after 6 dots appear, dots will continue to be created across the screen and I'll also have multiple dots on top of each other. What's going on here? The script doesn't appear to be recursive, yet it's behaving as if it were.
Is there another strategy for laying down multiple copies of an object?
Am Dienstag, 13.05.03 um 03:37 Uhr schrieb Phil Firsenbaum:
In attempting to create a pattern consisting of a series of dots I drew an initial dot and used the Copy tile (found in miscellaneous category) followed by forward #. If i set this script to ticking and stop it after 6 dots appear, dots will continue to be created across the screen and I'll also have multiple dots on top of each other. What's going on here? The script doesn't appear to be recursive, yet it's behaving as if it were.
I'd guess the copy's script is still ticking ...
-- Bert
Hi, Phil - If you have all the updates loaded into Squeak, and select the "Pen Use" category in the viewer, you'll see a "trailStyle" tile -- you can now set the "trail style" to "dots" and have the object lay down a series of dots....(as opposed to a line or arrowhead). I don't know if this will give you the desired outcome for your application/etoy, but it just may be simpler than what you are trying. cheers, Kim
At 9:37 PM -0400 5/12/03, Phil Firsenbaum wrote:
In attempting to create a pattern consisting of a series of dots I drew an initial dot and used the Copy tile (found in miscellaneous category) followed by forward #. If i set this script to ticking and stop it after 6 dots appear, dots will continue to be created across the screen and I'll also have multiple dots on top of each other. What's going on here? The script doesn't appear to be recursive, yet it's behaving as if it were.
Content-Disposition: inline; filename=ScriptEditor.jpeg Content-Type: image/jpeg; x-mac-creator=522A6368; x-unix-mode=0644; x-mac-type=54455854; name="ScriptEditor.jpeg"
Attachment converted: 24601:ScriptEditor.jpeg (JPEG/ogle) (000C8108)
Is there another strategy for laying down multiple copies of an object?
Squeakland mailing list Squeakland@squeakland.org http://squeakland.org/mailman/listinfo/squeakland
--
Hi, Phil,
When you make a "copy" in this way, the copy will have the same "status" characteristics -- e.g. paused, ticking, mouseDown, or whatever -- as the thing it's copied from.
Thus, if you make a "copy" of blueDot while blueDot is "ticking", the copy itself will be ticking. And therefore the copy itself will start propagating copies of *itself* right away as well. This makes for geometric birth of new blueDots, all of them ticking away and propagating new copies as fast as they can.
If you subsequently pause the script of the original blueDot, that original blueDot will stop making copies. But all the copies already spawned will merrily keep making *their* copies.
A way out of this would be to use the "stop" button of the Scripting Controls, which at least will pause *all* the scripts, whereas pausing the original blueDot leaves all the newborn siblings ticking.
But because of the geometric growth, I don't think it well-advised to use a ticking script to do this. If you want to follow the "copy" approach, it's better either to trigger the "copy" script manually the requisite number of times, or to use an instance variable for counting down, so that you can run the script precisely the number of times you wish.
But please note that there are better ways to make repeating patterns. One cool and easy way is:
* Draw the blue dot that you want to use for your repeating pattern, and leave it on the squeak desktop, to be "grabbed" in the final step.
* Obtain a new Rectangle from Supplies. Make it quite large so that you can easily view the effect about to happen.
* From the rectangles's halo menu, choose "fill style"... "bitmap fill".
* The rectangle will now be filled with a strange repeating pattern.
* Now return to the rectangle's halo menu, choose "fill style" again, and this time choose "grab new graphic", and then use the mouse to "drag-through" the area you want to comprise the repeating pattern -- in this case, the blue dot you've just drawn, allowing suitable white space around it to yield the spacing you want in the repeating pattern.
You probably won't get things looking exactly the way you want the first time you do the previous step, but keep trying. Very nice effects can be had with very little effort in this manner.
Hope this helps,
-- Scott
There are some qu At 9:37 PM -0400 5/12/03, Phil Firsenbaum wrote:
In attempting to create a pattern consisting of a series of dots I drew an initial dot and used the Copy tile (found in miscellaneous category) followed by forward #. If i set this script to ticking and stop it after 6 dots appear, dots will continue to be created across the screen and I'll also have multiple dots on top of each other. What's going on here? The script doesn't appear to be recursive, yet it's behaving as if it were.
squeakland@lists.squeakfoundation.org