[squeak-dev] The Trunk: MorphicExtras-ct.337.mcz

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


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

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

Name: MorphicExtras-ct.337
Author: ct
Time: 18 October 2022, 6:15:42.789427 pm
UUID: 7f8a9475-b637-1046-b49f-af8073ce87e8
Ancestors: MorphicExtras-ct.336

Readds the classic Etoys race car example.

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 MorphicExtras-ct.336 ===============

Item was added:
+ ----- Method: Form class>>extraCar (in category '*MorphicExtras-examples') -----
+ extraCar
+ 
+ 	^ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: 'iVBORw0KGgoAAAANSUhEUgAAAEoAAABwCAYAAAC5Mea6AAADRElEQVR4XuXczXHEIAwF4D1uCbmmJbeQtrZXJ5fNOA7G+nkSoLczHGPMFywDwjxYf/vH5/4uD/7fPZIJa9u/9ndhQlJhHZEqY7mgWkhVsfihMmIUG5TrrceE5P5VRHo+n/u78P+HBUilsJANa10rDKtXGbJSdD3Hv9u27beEYEluHlEpup4rpDAsTQMslV5eZ9v/FG09qVDnm2tV6Kn0DqdVpHVF3rcJCQUlQZoeqofED8UPNQeUBYkfKgAq7c23IlRv2DIF1LnSu3GWFak1npKW6XqUanCqRLJChcWoqN4UDfVz579lCajjDZ8LEkpaz5RQvZvnhxoMxR+jZn/r8UMVhRo2hfHFqJgRuXYaww8FnBhDodBzvVJQml7lWfTnh1oACpZB0gbD2aFCc5KSBGLWOlQU1LRZ4kyobt4way+AtbJsqGW3zZSHCgHnh+KHGo7ED8UPxQ81BKk0FBKJH4ofCg9VFosfih8qD8qaoaGB8qa3KKCsecAr6JJQ5/J6vZqFEkuLJIGjgdIgiXoZP5QMjP+xkzyG/PGJCCsLanksfih+KH4ofqhl5nkPfqhbqNZecyRSCairDflepFLzvR6UZ2JccgXhGJ/OjfOsHljOQyixcKdFKg+FWAouuSxsSS5okg0UUPwZGQMUfX6PH4ofag2o0svB/FD8UP11paxv9KKg3KsQyLPtZoSCfONj3kCRCOX9ssvdAaIOWdDO2TSnKHqQTN8haj+6RkB5tgB5ocztskBJsRAgqDjpbldWj7JkZpBxcmqoKyxvNubfEnG1HoUA0mDB2hYVn6J6kRZraqhMpAioZvsQF7IG6igs7ZhwOFQWkubtaMayXkSCNRuUp30wKFTqHBOndIcDpj5+Uqgow
 N7BhFO9+SSPHnq/ubZHDYGyvPU8UHfXRwfzVChkjyoBdTXAmwFq+OjcCnWMH96A3cOafhrTi0+to3EtUFfbHcOhkBe7C+TnRiJ61PJQkhiCGn2jJ8cwqN4K410jsoJ6757S4pRmPUrSGywfNGqghvQq7eHGrQYgkglLQUmWgK8agMi4DI9TyOyHpgGe/Q0aVHc7I6Aitzpr6oDnDb0XyTxZFdkDQ+7Rk/iM+UIi9vcNXfpA7aVhfaIAAAAASUVORK5CYII=' readStream)!

Item was added:
+ ----- Method: Form class>>extraCarTrack (in category '*MorphicExtras-examples') -----
+ extraCarTrack
+ 
+ 	^ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: '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' readStream)!

Item was added:
+ ----- Method: Form class>>extraWheel (in category '*MorphicExtras-examples') -----
+ extraWheel
+ 
+ 	^ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: 'iVBORw0KGgoAAAANSUhEUgAAAIoAAACDCAYAAABSiIOsAAAABHNCSVQFBQUBSsjp7wAAA6lJREFUeF7l3UtS7DAMBdAsg+WyJJbXswamPOCRxB9dHVe5mNGRfDrtyEl8+O1sezzvd7/5OHw4PpB13W8FB74SEB9Mw2+9D8aH4YPxYfhgfBw+GB+I330w/kD7YHwgPhgfiI/FR+JD8YEUGRAfi181LZcnH0jjU3x7LImDWnkgWmLp8o2uOAhtsHSazVcegGgs3WbuXY9xK5aOM3UfSgCS1LlW4pk8Ekr6lVvqz74/C0eglMbSvVqYGE/J8ei+9iDNraYdv7BAlRxbmfERlrzFyfjQOJT7InwoPhICylYsPhTjMv9WPD4S61L/Ukzajb0dY10yhj4UH4qPBIEyfSx9KH4h0UfiQ9kHpUPzq84n4pOfd/WhTIbSpflQfCg+lJHx6e/k8KH4UHwoPhQfyvIYfSg+FB+KD8WH4kNZGKP/FkIfig/lXBJfXv/tPhQfyrcw/tddLCCUK0C+ReND6QtlFJJIMD6UPUDisPhQ9iKJweJD2Y8kAosPpQYSH0oglB1IymPxodSCUhaLD2UckmGFOR/KsyWSt7fn8M/woTSEMuMzfCjNoMz8HB+KD8WHkgpl5aTTguKfTXwoIpQrWFZ8jv+z40PxoQhQztROfCj+GaXsWcuHUgiLD8WHMm0gL92M7UOx5iq37tpP2wyqO5KrNZVPMJ/969nm1mp08hZzApSfHuhafl9KlXz6UH5PSlkkCXsnS1B2YimTW38i+7eklEcyO7/+c8d/j6c8kpk59qGciyUCyYxc+1DOxxEBZHS+fSjH5QGY9mhGRTD8a7luJn/aszvVsGyD0nQX8eGLe1XAbIWyG0vK9v+7sZTYWSNp3SL9mK/GUQZKwppFl7PglXiG/
 8+EAUhGMhPMMiSjDt5Hsg/MsfKKtiqWjkhmYym75/GsgemMZAaYpfWx5NKz9sLgn+Jelq8KWDQos2sv03KVVnbW92Lemq+UkrO/xW6BfFUvOfv7CBXKWdUqYuftYVaAKXvAPpLMxcXt1/upC5PKomJ8cUiDsnKNqFVxSEOStC5XojDkQwnNm4/ER9K35Owj8SuJPpKAvPlIskoSfmHIR5KTPx+Lj8TH4iPxsfhAfDBMfvxk+HeyWWdbH4yPpETNxUfig1Ff/ONfCa6q6HZ8QJ0tRHZaWPSXM5phqfIcko8kEMusNwX4SI4eP0Uf/XgU/uu3X9rj6Xe/+WB8ID4YH4kPxgfig/GR+GB8IH7LROM3H40PxEfj4/Dh+DD8NhuP3/wGw3gHWgCo0DXGBVcAAAAASUVORK5CYII=' readStream)!

Item was added:
+ ----- Method: Player class>>extraExampleCar (in category '*MorphicExtras-examples') -----
+ extraExampleCar
+ 	"Player extraExampleCar do: #openInWorld"
+ 
+ 	| trackMorph wheelMorph carMorph carPlayer alertMorph wheelPlayer parent |
+ 	trackMorph := SketchMorph withForm: (Form extraCarTrack magnifyBy: RealEstateAgent scaleFactor).
+ 	trackMorph assuredPlayer; name: 'Track'.
+ 	carMorph := SketchMorph withForm: (Form extraCar magnifyBy: RealEstateAgent scaleFactor).
+ 	carPlayer := self newSubclass new
+ 		costume: (carMorph name: #Car);
+ 		yourself.
+ 	wheelMorph := SketchMorph withForm: (Form extraWheel magnifyBy: RealEstateAgent scaleFactor).
+ 	wheelPlayer := self newSubclass new
+ 		costume: (wheelMorph name: #Wheel);
+ 		yourself.
+ 	alertMorph := RectangleMorph new
+ 		useRoundedCorners;
+ 		extent: 90 px @ 50 px;
+ 		color: Color black;
+ 		assuredPlayer;
+ 		name: 'Alert';
+ 		yourself.
+ 	{trackMorph. carMorph. wheelMorph. alertMorph} do: [:morph |
+ 		carPlayer environment at: morph name asSymbol put: morph player].
+ 	carPlayer environment at: #Wheel put: wheelPlayer.
+ 	
+ 	Utilities useAuthorInitials: 'Objectland' during: [
+ 		carPlayer class compile: ((self extraExampleCarSource
+ 			asString lines allButFirst copyWithFirst: #drive)
+ 				joinSeparatedBy: Character cr)].
+ 	(carPlayer class >> #drive) decompile asScriptEditorFor: carPlayer.
+ 	carPlayer changeScript: #drive toStatus: #ticking.
+ 	carPlayer presenter stopRunningScripts.
+ 	
+ 	parent := Morph new
+ 		color: Color transparent;
+ 		extent: 700 px @ 700 px;
+ 		addAllMorphsFront: {carMorph. trackMorph. wheelMorph. alertMorph}
+ 		yourself.
+ 	trackMorph position: 19 px @ 25 px.
+ 	wheelMorph center: (trackMorph pointAtFraction: 0.3 @ 1.15).
+ 	carMorph
+ 		center: (trackMorph pointAtFraction: 0.45 @ 0.89);
+ 		rotationDegrees: 100.
+ 	alertMorph
+ 		center: (wheelMorph pointAtFraction: 1.75 @ 0.5);
+ 		addMorph: ('Alert' asTextMorph
+ 			backgroundColor: (Color paleYellow alpha: 0.6);
+ 			center: (alertMorph pointAtFraction: 0.5 @ 1.2);
+ 			yourself).
+ 	
+ 	^ {parent. carPlayer scriptEditorFor: #drive}!

Item was added:
+ ----- Method: Player class>>extraExampleCarSource (in category '*MorphicExtras-examples') -----
+ extraExampleCarSource
+ 
+ 	^ 'extraExampleDrive
+ 	self forward: 5.
+ 	self turn: Wheel getHeading // 5'!



More information about the Squeak-dev mailing list