[etoys-dev] Re: [sq-education] repeat-tile
bert at freudenbergs.de
Fri Mar 26 11:36:39 EDT 2010
the issue at hand is that I propose to hide the repeat tile from the viewer. More than any other tile it confuses people.
We just today got another question why it did not behave as expected on the German Etoys list. So I suggested she asked the education team what they thought of the idea to remove it.
It's quite natural to expect that a repeat tile works similarly to a "ticking" script. However, it is a totally different beast. It is as if you inserted the repeating tiles in the script multiple times. All the tiles in a script are executed in the same time step. There is no way to wait in the middle of a script.
Scratch has completely different execution semantics. There, a script can be stopped in the middle, and other scripts run "in parallel".
Executing scripts in a timeless fashion was a conscious design decision I think - but I was not involved with that so I let others comment.
Adding the ability to wait inside a script would be a hack at best. I'm not sure we should give in to the desire of people to add that. It was possible in the Tweak version of Etoys, which had been redesigned from ground up.
The only thing I can think of that would fit with current Etoys is to add a tile that can schedule a future message. E.g. "car do: somescript after: 5 seconds". Not exactly easy to implement (because it would take 2 arguments) but might be nice to have.
The other solution is to just build your own "animation" tiles - Etoys is powerful enough for that. No need to even resort to Smalltalk, ticking scripts is all you need.
In any case, "repeat" is too confusing with too little utility so I'd like to get rid of it in the default viewer.
- Bert -
On 26.03.2010, at 15:54, Steve Thomas wrote:
> If I put three sounds in a script without any repeat tile, you experience the same problem (ie: the three sounds played at the same time), so I do not believe the problem is with the Repeat tile.
> The more general problem is how do you play a sound (of arbitrary length, for example recording lines in a script) in sequence.
> I have experienced the same problem/frustration in Etoys myself. Scratch solves this problem by providing two tiles:
> "play <sound>" - starts the sound playing and immediately executes the next tile (as Etoys "make sound <croak>" currently does
> "play <sound> until done" - plays the sound until done then executes the next tile
> Another nice feature of is the "wait" tile which allows you to pause a script for a period of time which is useful in animated cartoons which really motivate kids and I believe is one of the reasons kids prefer Scratch. Another nice feature I would like to see to help sequence events is the implementation of a "wait" tile which pauses the execution of a script for a period of time at the wait tile.
> FYI to solve your problem (how to play a sound or sequence of sounds one after the other) you can create a script that ticks for some unit of time (lets say 1/2 second) and have a counter that increments upon each iteration of the script. Then at the appropriate time/count you can play the next sound in the sequence. I did something similar in the Cartoon example (The Holder Episosde 1v2 which due to the joys of the squeakland website, I have not been able to make public).
> Frankly sequencing was cumbersome in that I had to know how long each recorded sound was and would have preferred a simpler method.
> I have included the developer list to get their comments as well.
> On Fri, Mar 26, 2010 at 9:17 AM, Rita Freudenberg <rita at isg.cs.uni-magdeburg.de> wrote:
> On Mar 26, 2010, at 2:03 PM, Steve Thomas wrote:
>> Yes I have used the repeat tile in a number of projects. Usually in iterating through objects in a collections.
>> What was the specific problem?
>> Can you provide more details on how it does not fit within the Etoys philosophy?
> The problem is, that tiles in a script are timeless. Everything in a script happens at the same time. for instance, when you put a "make sound" tile in a repeat tile and then say "repeat 3 times", you will not hear 3 sounds one after the other, but at the same time. This happens with every tile. It is confusing when you put tiles in, that do something you can watch or hear.
> So what happens is not the same as what you think would happen when looking at the script. But in Etoys you should be able to explain the behaviour from looking at the script, I think.
>> On Fri, Mar 26, 2010 at 8:46 AM, Rita Freudenberg <rita at isg.cs.uni-magdeburg.de> wrote:
>> Hi all,
>> did you ever use the repeat tile? This is a new tile which you can get when you click on the supplies icon in a script.
>> During my workshop this week we tried to use it and we had problems, because it worked not the way we expected. It is something special, which is also not fitting very well with the Etoys philosophy. So how about removing it, since it is mostly confusing?
>> It would not be removed completely, so that older projects would still work and you can find it if you explicitly search for it in the object catalog. But it would be removed from the supplies menu in the scripts.
>> What do you think?
> etoys-dev mailing list
> etoys-dev at squeakland.org
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
More information about the etoys-dev