Skip to content

markfussell/scratchonflash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Introduction

The core principal to the Scratch on Flash design was to mirror the Squeak design as much as possible. In general, there are a lot of similarities, especially in the core objects like the Blocks, the ScratchProcess, and the ScriptableScratch subclasses.

But a few things were changed along the way. A summary of the kinds of changes:

  • When deserializing the scratch project object file, non-executable UI elements (and things like floating blocks) are thrown away. This is just a player, so it does not need edit-only information
  • Blocks and the like are not graphical, so they end with 'Block' and not 'Morph'
  • The graphical element of a Sprite is in SFSprite (ScratchFlashSprite) and not in the 'Morph'. 'Morph' within the Flash program means 'Graphically-aware, Scriptable, Scratch Object'. So 'Morph's are controllers of graphics but are not within the Flash display hierarchy itself.
  • I stripped the 'Scratch' prefix off some classes. Flash has package-based namespace capabilities, so the extra Scratch just made a class name longer. For example, 'ScratchSpriteMorph' becomes just 'SpriteMorph'.
  • I tend to avoid having classes that also function as libraries (pure static capabilities), so a couple classes had their static functionality split out into a 'Lib' class
  • Creating Smalltalk equivalent classes was avoided although I needed some image-processing classes (StForm) to deal with conversion beyond what ObjStream itself does

About

The Scratch language implemented on the Flash player

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors