Am 23.02.2005 um 03:54 schrieb Randy Heiland:
Thanks for both your replies. I failed to communicate exactly what I wanted to do. I see that both your techniques do indeed impart a given script to another object. However, what I'm looking for is a simple way to execute a single script and have it act on N (sibling) objects (where N can be large). Basically, I want to reproduce the behavior of the StarSqueak objects (e.g. slimemold).
Not sure if this helps in your specific case, but often changing the point of view solves such problems quite easily.
For example, we were doing a PacMan game in etoys. In this game you steer a figure (PacMan) through a maze, eating all peas that are scattered along the way.
In each step, the PacMan needs to test if it touches a pea and then eat (remove) that pea. Normally you would try to write a script for the PacMan object to do this. However, in etoys it's much easier to implement if you reverse the logic - let each pea decide if it is eaten. We made a script for the pea that looks if this pea is touching the PacMan and if so, remove it.
Of course, all peas share this behaviour as they are siblings. Essentially, iterating over N objects in a script is the same as calling that script in N objects ...
- Bert -