[squeak-dev] The Trunk: EToys-ct.485.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Oct 18 16:15:38 UTC 2022


Christoph Thiede uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-ct.485.mcz

==================== Summary ====================

Name: EToys-ct.485
Author: ct
Time: 18 October 2022, 6:15:32.339427 pm
UUID: a456dbec-f901-a149-942b-74835ecc6c46
Ancestors: EToys-ct.484

Adds a tutorial on painting and creating scripts in Etoys to the help browser. The contents are mostly taken from the release image of Squeak 4.3 and revised slightly. Complements MorphicExtras-ct.337 (Etoys race car).

This commit is part of reconstruction of Objectland (also known as "The Worlds of Squeak"). For more information, see: http://forum.world.st/The-Inbox-MorphicExtras-ct-267-mcz-td5104764.html

=============== Diff against EToys-ct.484 ===============

Item was changed:
  SystemOrganization addCategory: #'Etoys-Buttons'!
  SystemOrganization addCategory: #'Etoys-CustomEvents'!
  SystemOrganization addCategory: #'Etoys-Experimental'!
  SystemOrganization addCategory: #'Etoys-OLPC-Display'!
  SystemOrganization addCategory: #'Etoys-Outliner'!
  SystemOrganization addCategory: #'Etoys-Protocols'!
  SystemOrganization addCategory: #'Etoys-Protocols-Type Vocabularies'!
  SystemOrganization addCategory: #'Etoys-ReleaseBuilder'!
  SystemOrganization addCategory: #'Etoys-Scripting'!
  SystemOrganization addCategory: #'Etoys-Scripting Support'!
  SystemOrganization addCategory: #'Etoys-Scripting Tiles'!
  SystemOrganization addCategory: #'Etoys-Squeakland-EToys-Kedama'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Buttons'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Calendar'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Debugger'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Help'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Input'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Scripting'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Scripting Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Scripting Tiles'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-SpeechBubbles'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Etoys-Tile Scriptors'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Text'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Tools-Intersection'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Tools-Simplification'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Graphics-Tools-Triangulation'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Basic'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Books'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Components'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Demo'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Experimental'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Games'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Games-Chess'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Games-Chess960'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-GeeMail'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Kernel'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Mentoring'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Navigators'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-PDA'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-PartsBin'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Widgets'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Windows'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Morphic-Worlds'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-AdditionalMorphs'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-Charts'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-Postscript Filters'!
  SystemOrganization addCategory: #'Etoys-Squeakland-MorphicExtras-Widgets'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Formatter'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Forms'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Parser'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Parser Entities'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-HTML-Tokenizer'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-MIME'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-TelNet WordNet'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-UI'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Network-Url'!
  SystemOrganization addCategory: #'Etoys-Squeakland-SISS-Serialization'!
  SystemOrganization addCategory: #'Etoys-Squeakland-ST80-Morphic'!
  SystemOrganization addCategory: #'Etoys-Squeakland-SUnit'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sound-Interface'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sound-Ogg'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sound-Scores'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Sugar'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Clipboard-Extended'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Compiler'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Exceptions Kernel'!
  SystemOrganization addCategory: #'Etoys-Squeakland-System-Support'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-Changes'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-Explorer'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tools-Process Browser'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tweak-Kedama-ObjectVectors'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tweak-Kedama-ParseTree-AttributeDefinition'!
  SystemOrganization addCategory: #'Etoys-Squeakland-Tweak-Kedama-ParseTreeTransformer'!
  SystemOrganization addCategory: #'Etoys-Stacks'!
  SystemOrganization addCategory: #'Etoys-StarSqueak'!
  SystemOrganization addCategory: #'Etoys-Support'!
  SystemOrganization addCategory: #'Etoys-Tests'!
  SystemOrganization addCategory: #'Etoys-Tile Scriptors'!
  SystemOrganization addCategory: #'Etoys-UserInterfaceTheme'!
  SystemOrganization addCategory: #'Etoys-Widgets'!
+ SystemOrganization addCategory: #'Etoys-Help'!

Item was added:
+ SqueakTutorials subclass: #SqueakTutorialsEToys
+ 	instanceVariableNames: ''
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'Etoys-Help'!

Item was added:
+ ----- Method: SqueakTutorialsEToys class>>bookName (in category 'accessing') -----
+ bookName
+ 
+ 	^ 'Etoys'!

Item was added:
+ ----- Method: SqueakTutorialsEToys class>>makingAnEtoy (in category 'pages') -----
+ makingAnEtoy
+ 	"This method was automatically generated. Edit it using:"
+ 	"SqueakTutorialsEToys edit: #makingAnEtoy"
+ 	<generated>
+ 	^(HelpTopic
+ 		title: 'Making an eToy'
+ 		contents: 
+ 'To start making an EToy, you always draw a picture.  Click on the "Supplies" flap below.  Drag out the Painting icon.  When you drop it, you can paint a new object.  Click "Keep" to end painting.
+ 
+ There is another way to start a painting.  Open the "Nav bar" flap at the bottom of the screen.  Click on the picture of the paintbrush. 
+ 
+ When you finish a painting, the picture turns into a real Squeak object.  In order to make scripts for this object, you''ll want a viewer on it.  Command-click (right-click on a PC, or Alt-click) on the object to get a halo.  Then click on the aqua icon of an eye.!!' readStream nextChunkText)
+ 			key: #makingAnEtoy;
+ 			shouldStyle: false;
+ 			yourself!

Item was added:
+ ----- Method: SqueakTutorialsEToys class>>pages (in category 'accessing') -----
+ pages
+ 
+ 	^ self class methodsInCategory: #pages!

Item was added:
+ ----- Method: SqueakTutorialsEToys class>>raceCar (in category 'pages') -----
+ raceCar
+ 	"This method was automatically generated. Edit it using:"
+ 	"SqueakTutorialsEToys edit: #raceCar"
+ 	<generated>
+ 	^(HelpTopic
+ 		title: 'Race Car'
+ 		contents: 
+ 'There are many ways to make things in Squeak. EToys let you draw fun things and then tell them what to do.
+ 
+ At the right is an EToy that lets you drive a car. If you don''t see it yet, click here.
+ 
+ Put your mouse over the blue steering wheel (between this window and the status display). Press the "blue button" of your mouse (this can either be your right or your middle mouse key, or use the left mouse button while pressing the cmd key). A "halo" of buttons will appear. Locate the blue handle at the lower left. This rotation control lets you turn the steering wheel. Drag it around and see what happens.
+ 
+ Press the green "Go" button in the Stop-Step-Go controls. The race car will start moving. Put your mouse back over the steering wheel and steer the car. Press "Stop" to stop the car.
+ 
+ The script in the center of the racetrack makes the car go. It changes the car''s heading by reading the heading of the steering wheel. You can increase the speed of the car by clicking the up arrow of the number after "Car forward by".
+ 
+ Press the "Try it" button on the script, this is the left-most mouse icon.
+ 
+ Scripts are constructed using a parts bin called a "Viewer". Press the blue button on the race car and its halo will appear. Click at cyan eye handle on the left and press "Open viewer for player". A flap will open with the Car''s viewer in it. (Click the tiny car again to close the flap.)
+ 
+ You can make a new script for the Car by grabbing the tile for "Car emptyScript" and dropping it. Then grab other tiles and drop them into the script. You can see other categories of tiles by clicking on the green arrows beside the category name.
+ 
+ Just for fun, let''s add more things to our car. There is an alert light to the dashboard, but it does not work. If you drive off the road, we want the light to shine red.  
+ 1) From the "tests" section in the car''s viewer, grab the test tile into the drive script.
+ 2) From the same category, find the test "isOverColor" tile and drag it next to the label "test" in our script.
+ 3) The tile says "Car''s isOverColor __" and a patch of color. Click on the patch of color. You will see a color picker and have an eyedropper as the cursor. Click on the gray of the street.
+ 4) Open the halo on the Alert light, and open a viewer for its player from the cyan eye handle.
+ 5) In the Alert''s viewer, find the category of commands "color & border". You may have to click on the plus icon at the right top of the viewer or on the green arrows to get it.
+ 6) The first command is "Alert''s color". Click on the square on the right with the green arrow in it. Suddenly you will have the tiles that set Alert''s color.
+ 7) Drag the left arrow for this command and drop those tiles into the "Yes" section of the script.
+ 8) Grab from the arrow next to the square again to get another copy of the tiles and put them in the "No" section.
+ 9) Decide what color the Alert should be when everything is OK. Click on the patch of color in the "No" tiles, and choose the color.
+ 
+ Now click Go, drive the car, and see what the Alert light does.!!
+ ]style[(184 10 450 21 2390),Rcode://
+ Player extraExampleCar do: #openInWorld;,,Rcode://
+ AllScriptsTool newStandAlone openInHand;,!!' readStream nextChunkText)
+ 			key: #raceCar;
+ 			shouldStyle: false;
+ 			yourself!

Item was added:
+ ----- Method: SqueakTutorialsEToys class>>usesCodeStyling (in category 'testing') -----
+ usesCodeStyling
+ 
+ 	^ false!



More information about the Squeak-dev mailing list