Squeak

 

Making buttons

Page history last edited by aikidave 2 yrs ago

Hello, Young-Jin,

 

> I was able to achieve the goal by (1) creating a script to change the

> text of one of the text objects and (2) creating "Button to fire to

> this script". But, I don't think this method is in sprite of Squeack,

> visual programming. I want to first create a button and make this

> button change the text of one of the text objects when this button is

> clicked, not the other way around. To me, this approach is in line of

> Squeak's philosophy.

>

> Can any one please explain what I have missed?

 

There are a quite a few different ways.

 

#1:

  • For the "Button" from the supplies bin, get the halo for it.
  • There is a pale green/blue handle near the bottom right corner.
  • You'll get the scriptor that is invoked when you click it. (You can programatically invoke the button's action by sending "fire" command in the "button" viewer category.

 

#2:

  • For any object, you can make it a button.
  • Create a scriptor for an Etoys object.
  • Hold the mouse button for a second on the "script status" that is showing "Normal" by default. You'll get a menu.
  • From the menu, choose "mouseDown" or "mouseUp". The script will be executed when you do click on (or click on and release) the object.

 

-- Yoshiki

 

Actually, any script can produce a button to fire it, and also, any

object in Etoys can serve as a button (including text objects).

 

1. Suppose you have a text object named Text that contains some text:

'This is some text'.

 

Drag out Text's characters <- This is some text onto the desktop to

make a script.

 

Do it again to make a second script. Name the first script "reset"

and the second one "change".

 

Change the text in the "change" script.

 

These scripts can be tested by clicking on the (!).

A script will give you a button to fire it. Look at the menu item in

a script

[]

 

and choose the item button to fire this script.

 

Do this for the other script. Both of these buttons can be relabeled.

 

Here is what this example looks like

[]

 

2. You can also use any object as a button. Get out a rectangle. Put

an empty rectangle script on the desktop. Put the tiles:

Text's characters <- This is different text in this script. Now look

at the normal menu and choose mouseUp. This script will fire when

you do mouseUp on the rectangle object.

 

[]

 

You can make a toggle by adding a variable to hold true or false, etc.

 

Cheers,

 

Alan

 

At 05:18 PM 3/3/2007, Young-Jin Lee wrote:

 

>Hi,

>

>I am a newbie and trying to learn how to develop educational material

>using E-Toy.

>I went through several E-toy project, but still need some helps.

>

>In the test program I was writing, I put a few text objects and a

>Button object from "Supplies" tab. My object was to change the text of

>one of the text objects when the Button is clicked.

>

>First, I opened a Viewer for the Button object to figure out what

>kinds of things I can do to this Button object. I expected to find a

>method that will be invoked when the button object is clicked. To my

>surprise, there is no such method.

>

>I was able to achieve the goal by (1) creating a script to change the

>text of one of the text objects and (2) creating "Button to fire to

>this script". But, I don't think this method is in sprite of Squeack,

>visual programming. I want to first create a button and make this

>button change the text of one of the text objects when this button is

>clicked, not the other way around. To me, this approach is in line of

>Squeak's philosophy.

>

>Can any one please explain what I have missed?

>

>Thanks in advance.

>

>Young-Jin

>___________________________________

Comments (0)

You don't have permission to comment on this page.