From Test-Scratch-Wiki
| This article or section documents a feature not included in the current version of Scratch (3.0). It is only useful from a historical perspective. |
The ScriptableScratchMorph class is a Squeak Morphic class which returns a Scratch object: either a sprite or the stage.
Declaration
The ScriptableScratchMorph is a subclass of Morph, and is declared under Scratch-Objects 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 ScriptableScratchMorph are:
| Here, "object" refers to a sprite or the stage. |
objName: The title of the objectvars: The variables of an objectlists: The lists of an objectblocksBin: The blocks of an objectisClone: Is an object a clone of another (obsolete as of Scratch 1.4)media: Associated media like sounds and costumescostume: Costume NumbercostumeChangeMSecs:filterPack: The graphical effects on the object put by the Graphical filter block.visibility: Is the object hiddenvolume: The Volume of the objecttempoBPM: The Tempo of the object in beats per minute (BPM)sceneStates:
Subclasses
The two subclasses are ScriptableSpriteMorph and ScriptableStageMorph, 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.
ScriptableSpriteMorph
Declaration
ScriptableSpriteMorph is a subclass of ScriptableScratchMorph, 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'
ScriptableStageMorph
Declaration
ScriptableStageMorph is a subclass of ScriptableStageMorph, 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'