Eng:ScriptableScratchMorph

The   class is a Squeak Morphic class which returns a Scratch object: either a sprite or the stage.

Declaration
The  is a subclass of , and is declared under   in the System Browser. The declaration is as follows: Morph subclass: #ScriptableScratchMorph instanceVariableNames: 'objName vars lists blocksBin isClone media costume costumeChangeMSecs filterPack visibility volume tempoBPM sceneStates ' classVariableNames: 'BlockColorDict BlockSpecDict DefaultBackgroundForm DefaultSpriteForm DoubleSize Experimental ListBlockColor MeowSound OldMeowPrefixReversed PopSound RandomGen Recorder ScratchOrigin TimerStartMSecs ' poolDictionaries: '' category: 'Scratch-Objects'

Instance Variables
The instance variables of  are:


 *  : The title of the object
 *  : The variables of an object
 *  : The lists of an object
 *  : The blocks of an object
 *  : Is an object a clone of another (obsolete as of Scratch 1.4)
 *  : Associated media like sounds and costumes
 *  : Costume Number
 *  : The graphical effects on the object put by the Graphical filter block.
 *  : Is the object hidden
 *  : The Volume of the object
 *  : The Tempo of the object in beats per minute (BPM)
 *  : The Tempo of the object in beats per minute (BPM)

Subclasses
The two subclasses are  and , dictating sprites and the stage, respectively. They need to be different as the stage has limited functionality as compared to sprites; for example, the stage has no motion blocks. The parent class always contains the common properties, for example the common "clear" block.

Declaration
is a subclass of, and dictates a sprite. Its declaration is: ScriptableScratchMorph subclass: #ScratchSpriteMorph instanceVariableNames: 'scalePoint rotationDegrees rotationStyle rotatedForm offsetWhenRotated draggable penDown penSize penColor penHue penShade ' classVariableNames: '' poolDictionaries: '' category: 'Scratch-Objects'

Declaration
is a subclass of, and dictates a stage. Its declaration is: ScriptableScratchMorph subclass: #ScratchStageMorph instanceVariableNames: 'zoom hPan vPan penTrailsForm lastPenPositions runningBlocks inProcessStep sensorBoard midiPortNum midiPort notePlayerDict obsoleteSavedState sprites scratchServer isQuarterSize cachedForm showMotorBlocks ' classVariableNames: '' poolDictionaries: '' category: 'Scratch-Objects'