Discuss Scratch
- Discussion Forums
- » Project Save & Level Codes
- » Scratch emulator (GriffScratch) saved projects
- techbro278
-
Scratcher
1 post
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 109 , -147 , [ , ]] , [ 52 , 44 , [ , , , , , , [“doForever” ,[ [“warpSpeed” ,[ [“turnLeft:” , ] , [“forward:” , ] , , ] ] ] ] ]] ] }],“info”:{} }
This makes a double spiral thing
This makes a double spiral thing
- Princeliebe
-
Scratcher
10 posts
Scratch emulator (GriffScratch) saved projects
peppeBro why did you say this
define me because I don't know how to define myself because my info thing is so long i got a million friends in real life not on scratch tho so i cant define myself
- Princeliebe
-
Scratcher
10 posts
Scratch emulator (GriffScratch) saved projects
If you have a project you created in my scratch emulator you want to share then this is the place for you
https://scratch.mit.edu/projects/113321949/
Make sure you include a title / description of your project before you pasted json code!
HOLD ONSCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.
when green flag clicked
if <(wants to know raycasting ) = [true]> then
look up griffpatch's tutorials for (2) hours
end[/quote]
That is so true
[scratchblocks](scratch is using bbcode)[/scratchblocks]
- ArrowMHB2015
-
Scratcher
2 posts
Scratch emulator (GriffScratch) saved projects
pong (its a bit broken)
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 74 , 3 , [ , , , , [“setVar:to:” , “y” , ] , [“setVar:to:” , “x” , ] , , [“doForever” ,[ , [“changeVar:by:” , “x” , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] , [“changeVar:by:” , “y” , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] , , , , , , , , [“gotoX:y:” , , ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “43” ] ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “43” ] ] , , [“gotoX:y:” , , ] ] ] ]] ] }],“info”:{} }
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 74 , 3 , [ , , , , [“setVar:to:” , “y” , ] , [“setVar:to:” , “x” , ] , , [“doForever” ,[ , [“changeVar:by:” , “x” , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] , [“changeVar:by:” , “y” , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] , , , , , , , , [“gotoX:y:” , , ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “43” ] ] , , , [“gotoX:y:” , [“+” , , “45” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “-43” ] ] , [“gotoX:y:” , [“+” , , “-3” ] , [“+” , , “43” ] ] , , [“gotoX:y:” , , ] ] ] ]] ] }],“info”:{} }- mark-sss
-
Scratcher
100+ posts
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 91 , -226 , [ , , [“doForever” ,[ [“warpSpeed” ,[ , , [“doRepeat” , “4” ,[ , ] ] , ] ] ] ] ]] , [ 87 , 1 , [ , [“doForever” ,[ [“changeVar:by:” , “X vel” , [“*” , [“-” , , ] , “2” ] ] , [“setVar:to:” , “X vel” , [“*” , , “0.8” ] ] , [“changeXposBy:” , ] , [“changeVar:by:” , “Y vel” , [“*” , [“-” , , ] , “2” ] ] , [“setVar:to:” , “Y vel” , [“*” , , “0.8” ] ] , [“changeYposBy:” , ] ] ] ]] ] }],“info”:{} }
(I remade smooth moving but with a square)
my variant but with stretch effect:
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "X vel" , "value": "-0.000007771251928629609" , "isPersistent":false} , {"name": "Y vel" , "value": "-0.006024052892904824" , "isPersistent":false} , {"name": "multiplier" , "value": "0.1" , "isPersistent":false} ] ,"scripts":[ [ 87 , 582 , [ ["whenGreenFlag" ] , ["doForever" ,[ ["changeVar:by:" , "X vel" , ["*" , ["-" , ["keyPressed:" , "right arrow" ] , ["keyPressed:" , "left arrow" ] ] , "2" ] ] , ["setVar:to:" , "X vel" , ["*" , ["readVariable" , "X vel" ] , "0.8" ] ] , ["changeXposBy:" , ["readVariable" , "X vel" ] ] , ["changeVar:by:" , "Y vel" , ["*" , ["-" , ["keyPressed:" , "up arrow" ] , ["keyPressed:" , "down arrow" ] ] , "2" ] ] , ["setVar:to:" , "Y vel" , ["*" , ["readVariable" , "Y vel" ] , "0.8" ] ] , ["changeYposBy:" , ["readVariable" , "Y vel" ] ] ] ] ]] , [ 91 , -29 , [ ["whenGreenFlag" ] , ["hide" ] , ["doAsk" , "what speed stretch multiplier you wan't? (recommend is 1)" ] , ["setVar:to:" , "multiplier" , ["answer" ] ] , ["doForever" ,[ ["warpSpeed" ,[ ["clearPenTrails" ] , ["putPenDown" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "X vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["doIfElse" , [">" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] , "0" ] ,[ ["forward:" , ["+" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ,[ ["forward:" , ["-" , "25" , ["*" , ["readVariable" , "Y vel" ] , ["readVariable" , "multiplier" ] ] ] ] ] ] , ["turnLeft:" , "90" ] , ["stampPolygon" ] ] ] ] ] ]] ] }],"info":{} }
- Princeliebe
-
Scratcher
10 posts
Scratch emulator (GriffScratch) saved projects
If you have a project you created in my scratch emulator you want to share then this is the place for you
https://scratch.mit.edu/projects/113321949/
Make sure you include a title / description of your project before you pasted json code!
HOLD ONSCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.
(1) [1] [1 v] 1
- mark-sss
-
Scratcher
100+ posts
Scratch emulator (GriffScratch) saved projects
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "move increment" , "value": "301" , "isPersistent":false} , {"name": "direction increment" , "value": "301" , "isPersistent":false} ] ,"scripts":[ [ 49 , 107 , [ ["whenGreenFlag" ] , ["gotoX:y:" , "-25" , "-25" ] , ["setVar:to:" , "move increment" , "250" ] , ["setVar:to:" , "direction increment" , "250" ] , ["hide" ] , ["putPenDown" ] , ["broadcast:" , "message1" ] , ["doForever" ,[ ["forward:" , ["readVariable" , "move increment" ] ] , ["turnLeft:" , ["readVariable" , "direction increment" ] ] , ["changePenHueBy:" , "1" ] ] ] ]] , [ 50 , -20 , [ ["whenIReceive" , "message1" ] , ["doForever" ,[ ["wait:elapsed:from:" , "1" ] , ["changeVar:by:" , "move increment" , "1" ] , ["changeVar:by:" , "direction increment" , "1" ] ] ] ]] ] }],"info":{} }
This is a script which generates a very colored tunnel, which will make you feel that you will want to directly jump in it and have a very colored experience.
Make sure to turn Turbo Mode on for faster generation and a cool effect each second!
Thanks to @TheUltimatum for the idea of the JSON code converter (I don't know how it's exactly called). To make one, do (ignore the curly bracket in the front):{"[code=json]Paste your code here[/code]"
I know how JSON works.
This works like this:
{"key:":"value","next key:":"value"}
Other examples:
{"key":["1st","2nd","3rd","4th","5th element","..."]}
{"key":{"1st key":"value","2nd key","value"}}
{"key":50}
- KoopaTroopa121
-
Scratcher
11 posts
Scratch emulator (GriffScratch) saved projects
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 46 , 41 , [ , , , , [“doForever” ,[ [“doIfElse” , ,[ , ] ,[ [“doIfElse” , ,[ , ] ,[ [“doIfElse” , ,[ , ] ,[ [“doIf” , ,[ , ] ] ] ] ] ] ] ] ] ] ]] ] }],“info”:{} }
- ViggyMish
-
Scratcher
19 posts
Scratch emulator (GriffScratch) saved projects
2026 Countdown
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "days" , "value": "Days: 7" , "isPersistent":false} , {"name": "hrs" , "value": "Hours: 8" , "isPersistent":false} , {"name": "min" , "value": "Minutes: 20" , "isPersistent":false} , {"name": "sec" , "value": "Seconds: 18" , "isPersistent":false} ] ,"scripts":[ [ 74 , -147 , [ ["whenGreenFlag" ] , ["doForever" ,[ ["setVar:to:" , "days" , ["concatenate:with:" , "Days: " , ["-" , "31" , ["timeAndDate" , "date" ] ] ] ] , ["setVar:to:" , "hrs" , ["concatenate:with:" , "Hours: " , ["-" , "23" , ["timeAndDate" , "hour" ] ] ] ] , ["setVar:to:" , "min" , ["concatenate:with:" , "Minutes: " , ["-" , "59" , ["timeAndDate" , "minute" ] ] ] ] , ["setVar:to:" , "sec" , ["concatenate:with:" , "Seconds: " , ["-" , "59" , ["timeAndDate" , "second" ] ] ] ] ] ] ]] , [ 76 , 22 , [ ["whenGreenFlag" ] , ["hide" ] , ["doForever" ,[ ["warpSpeed" ,[ ["clearPenTrails" ] , ["penColor:" , "000000" ] , ["doIfElse" , [">" , ["timeAndDate" , "year" ] , "2025" ] ,[ ["gotoX:y:" , "0" , "0" ] , ["write" , "HAPPY NEW YEAR!" ] ] ,[ ["gotoX:y:" , "-100" , "100" ] , ["write" , "2026 COUNTDOWN" ] , ["gotoX:y:" , "-100" , "50" ] , ["write" , ["readVariable" , "days" ] ] , ["gotoX:y:" , "-100" , "0" ] , ["write" , ["readVariable" , "hrs" ] ] , ["gotoX:y:" , "-100" , "-50" ] , ["write" , ["readVariable" , "min" ] ] , ["gotoX:y:" , "-100" , "-100" ] , ["write" , ["readVariable" , "sec" ] ] ] ] ] ] ] ] ]] ] }],"info":{} }
Last edited by ViggyMish (Dec. 24, 2025 10:12:42)
- ViggyMish
-
Scratcher
19 posts
Scratch emulator (GriffScratch) saved projects
Pong In Scratch Emulator (?):
{“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ -104 , 228 , [ ]] , [ 260 , 340 , [ , , , , [“doRepeat” , “6” ,[ [“warpSpeed” ,[ [“gotoX:y:” , “-220” , ] , , [“gotoX:y:” , “220” , ] , , ] ] ] ] ]] , [ 42 , 336 , [ , , , [“setVar:to:” , “BallDir” , ] , , , [“doIf” , , “1” ] ,[ , , ] ] ]] , [ -98 , 145 , [ ]] , [ 23 , 44 , [ , , , , , , [“doForever” ,[ , , [“doIf” , [“>” , [“computeFunctionf:” , “abs” , ] , “240” ] ,[ [“doIfElse” , [“>” , , “0” ] ,[ [“doAsk” , [“concatenate:with:” , “You Lose with a score of: ” , [“concatenate:with:” , [“-” , , “1” ] , “ Play again? (Y/N)” ] ] ] , [“doIfElse” , , “Y” ] ,[ , ] ,[ ] ] ] ,[ , ] ] ] ] , [“doIf” , [“>” , [“computeFunction
f:” , “abs” , ] , “75” ] ,[ [“setVar:to:” , “BallDir” , [“-” , “180” , ] ] ] ] ] ] ]] , [ 311 , 20 , [ , , , , [“warpSpeed” ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] ] , [“gotoX:y:” , , ] , , , [“gotoX:y:” , “160” , [“+” , , [“/” , , “2” ] ] ] , , [“changeYposBy:” , [“-” , “” , ] ] , , [“gotoX:y:” , “-160” , [“+” , , [“/” , , “2” ] ] ] , , [“changeYposBy:” , [“-” , “” , ] ] , , [“doIf” , ,[ ] ] , [“doIf” , ,[ ] ] , [“changeVar:by:” , “PlayerY” , ] , [“setVar:to:” , “Yvel” , [“*” , , “0.85” ] ] , [“doIf” , [“>” , , “50” ] ,[ , ] ] , [“doIf” , [“<” , , “-50” ] ,[ , ] ] , [“doIf” , [“>” , , [“+” , , [“/” , “10” , ] ] ] ,[ ] ] , [“doIf” , [“<” , , [“-” , , [“/” , “10” , ] ] ] ,[ ] ] , [“changeVar:by:” , “OppY” , ] , [“setVar:to:” , “OppYvel” , [“*” , , “0.8” ] ] , [“doIf” , [“>” , , “50” ] ,[ , ] ] , [“doIf” , [“<” , , “-50” ] ,[ , ] ] , [“doIf” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “152.5” , ] , [“<” , , “167.5” ] ] ] ,[ , [“doIfElse” , [“>” , , “0” ] ,[ [“setVar:to:” , “BallDir” , [“+” , [“-” , “” , ] , [“*” , , “3” ] ] ] ] ,[ [“setVar:to:” , “BallDir” , [“-” , “” , [“+” , , [“*” , , “3” ] ] ] ] ] ] , [“doUntil” , [“not” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “155” , ] , [“<” , , “165” ] ] ] ] ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] ] ] ] ] ] , [“doIf” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “-167.5” , ] , [“<” , , “-152.5” ] ] ] ,[ , [“setVar:to:” , “BallDir” , [“-” , “” , ] ] , [“doUntil” , [“not” , [“&” , [“&” , [“<” , [“-” , , [“/” , , “2” ] ] , ] , [“<” , , [“+” , , [“/” , , “2” ] ] ] ] , [“&” , [“<” , “-167.5” , ] , [“<” , , “-152.5” ] ] ] ] ,[ [“setVar:to:” , “BallX” , [“+” , , [“*” , [“computeFunction
f:” , “sin” , ] , ] ] ] , [“setVar:to:” , “BallY” , [“+” , , [“*” , [“computeFunction
f:” , “cos” , ] , ] ] ] ] ] ] ] ] ] ]] ] }],“info”:{} }
Yeah… it's just a little bit bigger than expected… Just a little…
The save code is extremely long so you can put it in JSON format.
{"objName":"Stage", "children": [{"objName":"project" ,"variables":[ {"name": "LineY" , "value": "-1050" , "isPersistent":false} , {"name": "PlayerY" , "value": "50" , "isPersistent":false} , {"name": "BatWidth" , "value": "50" , "isPersistent":false} , {"name": "Yvel" , "value": "0" , "isPersistent":false} , {"name": "BallX" , "value": "247.46230455120693" , "isPersistent":false} , {"name": "BallY" , "value": "4.319470593227637" , "isPersistent":false} , {"name": "BallVel" , "value": "4.5" , "isPersistent":false} , {"name": "BallDir" , "value": "89" , "isPersistent":false} , {"name": "OppY" , "value": "-5.002749388988082" , "isPersistent":false} , {"name": "First" , "value": "0" , "isPersistent":false} , {"name": "OppYvel" , "value": "0.0005498777976192306" , "isPersistent":false} , {"name": "Difficulty" , "value": "1" , "isPersistent":false} ] ,"scripts":[ [ -104 , 228 , [ ["-" , "" , "90" ] ]] , [ 260 , 340 , [ ["whenIReceive" , "FillBackground" ] , ["penSize:" , "100" ] , ["penColor:" , "0x000000" ] , ["setVar:to:" , "LineY" , "150" ] , ["doRepeat" , "6" ,[ ["warpSpeed" ,[ ["gotoX:y:" , "-220" , ["readVariable" , "LineY" ] ] , ["putPenDown" ] , ["gotoX:y:" , "220" , ["readVariable" , "LineY" ] ] , ["putPenUp" ] , ["changeVar:by:" , "LineY" , "-75" ] ] ] ] ] ]] , [ 42 , 336 , [ ["whenIReceive" , "Game Loop Init" ] , ["setVar:to:" , "BatWidth" , "50" ] , ["setVar:to:" , "BallVel" , "4.5" ] , ["setVar:to:" , "BallDir" , ["randomFrom:to:" , "45" , "135" ] ] , ["setVar:to:" , "BallX" , "0" ] , ["setVar:to:" , "BallY" , "0" ] , ["doIf" , ["=" , ["readVariable" , "First" ] , "1" ] ,[ ["setVar:to:" , "PlayerY" , "0" ] , ["setVar:to:" , "OppY" , "0" ] , ["setVar:to:" , "First" , "0" ] ] ] ]] , [ -98 , 145 , [ ["/" , "" , "12" ] ]] , [ 23 , 44 , [ ["whenGreenFlag" ] , ["hide" ] , ["setVar:to:" , "Difficulty" , "1" ] , ["setVar:to:" , "First" , "1" ] , ["broadcast:" , "Game Loop Init" ] , ["wait:elapsed:from:" , "1" ] , ["doForever" ,[ ["clearPenTrails" ] , ["broadcast:" , "Main" ] , ["doIf" , [">" , ["computeFunction:of:" , "abs" , ["readVariable" , "BallX" ] ] , "240" ] ,[ ["doIfElse" , [">" , ["readVariable" , "BallX" ] , "0" ] ,[ ["doAsk" , ["concatenate:with:" , "You Lose with a score of: " , ["concatenate:with:" , ["-" , ["readVariable" , "Difficulty" ] , "1" ] , " Play again? (Y/N)" ] ] ] , ["doIfElse" , ["=" , ["answer" ] , "Y" ] ,[ ["setVar:to:" , "Difficulty" , "1" ] , ["broadcast:" , "Game Loop Init" ] ] ,[ ["stopScripts" , "all" ] ] ] ] ,[ ["broadcast:" , "Game Loop Init" ] , ["changeVar:by:" , "Difficulty" , "1" ] ] ] ] ] , ["doIf" , [">" , ["computeFunction:of:" , "abs" , ["readVariable" , "BallY" ] ] , "75" ] ,[ ["setVar:to:" , "BallDir" , ["-" , "180" , ["readVariable" , "BallDir" ] ] ] ] ] ] ] ]] , [ 311 , 20 , [ ["whenIReceive" , "Main" ] , ["broadcast:" , "FillBackground" ] , ["penColor:" , "0xffffff" ] , ["penSize:" , "5" ] , ["warpSpeed" ,[ ["setVar:to:" , "BallX" , ["+" , ["readVariable" , "BallX" ] , ["*" , ["computeFunction:of:" , "sin" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["setVar:to:" , "BallY" , ["+" , ["readVariable" , "BallY" ] , ["*" , ["computeFunction:of:" , "cos" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["gotoX:y:" , ["readVariable" , "BallX" ] , ["readVariable" , "BallY" ] ] , ["putPenDown" ] , ["putPenUp" ] , ["gotoX:y:" , "160" , ["+" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] , ["putPenDown" ] , ["changeYposBy:" , ["-" , "" , ["readVariable" , "BatWidth" ] ] ] , ["putPenUp" ] , ["gotoX:y:" , "-160" , ["+" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] , ["putPenDown" ] , ["changeYposBy:" , ["-" , "" , ["readVariable" , "BatWidth" ] ] ] , ["putPenUp" ] , ["doIf" , ["keyPressed:" , "up arrow" ] ,[ ["changeVar:by:" , "Yvel" , "1" ] ] ] , ["doIf" , ["keyPressed:" , "down arrow" ] ,[ ["changeVar:by:" , "Yvel" , "-1" ] ] ] , ["changeVar:by:" , "PlayerY" , ["readVariable" , "Yvel" ] ] , ["setVar:to:" , "Yvel" , ["*" , ["readVariable" , "Yvel" ] , "0.85" ] ] , ["doIf" , [">" , ["readVariable" , "PlayerY" ] , "50" ] ,[ ["setVar:to:" , "PlayerY" , "50" ] , ["setVar:to:" , "Yvel" , "0" ] ] ] , ["doIf" , ["<" , ["readVariable" , "PlayerY" ] , "-50" ] ,[ ["setVar:to:" , "PlayerY" , "-50" ] , ["setVar:to:" , "Yvel" , "0" ] ] ] , ["doIf" , [">" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "OppY" ] , ["/" , "10" , ["readVariable" , "Difficulty" ] ] ] ] ,[ ["changeVar:by:" , "OppYvel" , "1" ] ] ] , ["doIf" , ["<" , ["readVariable" , "BallY" ] , ["-" , ["readVariable" , "OppY" ] , ["/" , "10" , ["readVariable" , "Difficulty" ] ] ] ] ,[ ["changeVar:by:" , "OppYvel" , "-1" ] ] ] , ["changeVar:by:" , "OppY" , ["readVariable" , "OppYvel" ] ] , ["setVar:to:" , "OppYvel" , ["*" , ["readVariable" , "OppYvel" ] , "0.8" ] ] , ["doIf" , [">" , ["readVariable" , "OppY" ] , "50" ] ,[ ["setVar:to:" , "OppY" , "50" ] , ["setVar:to:" , "OppYvel" , "0" ] ] ] , ["doIf" , ["<" , ["readVariable" , "OppY" ] , "-50" ] ,[ ["setVar:to:" , "OppY" , "-50" ] , ["setVar:to:" , "OppYvel" , "0" ] ] ] , ["doIf" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "152.5" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "167.5" ] ] ] ,[ ["changeVar:by:" , "BallVel" , "0.25" ] , ["doIfElse" , [">" , ["readVariable" , "BallDir" ] , "0" ] ,[ ["setVar:to:" , "BallDir" , ["+" , ["-" , "" , ["readVariable" , "BallDir" ] ] , ["*" , ["readVariable" , "Yvel" ] , "3" ] ] ] ] ,[ ["setVar:to:" , "BallDir" , ["-" , "" , ["+" , ["readVariable" , "BallDir" ] , ["*" , ["readVariable" , "Yvel" ] , "3" ] ] ] ] ] ] , ["doUntil" , ["not" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "PlayerY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "155" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "165" ] ] ] ] ,[ ["setVar:to:" , "BallX" , ["+" , ["readVariable" , "BallX" ] , ["*" , ["computeFunction:of:" , "sin" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["setVar:to:" , "BallY" , ["+" , ["readVariable" , "BallY" ] , ["*" , ["computeFunction:of:" , "cos" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] ] ] ] ] , ["doIf" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "-167.5" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "-152.5" ] ] ] ,[ ["changeVar:by:" , "BallVel" , "0.25" ] , ["setVar:to:" , "BallDir" , ["-" , "" , ["readVariable" , "BallDir" ] ] ] , ["doUntil" , ["not" , ["&" , ["&" , ["<" , ["-" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] , ["readVariable" , "BallY" ] ] , ["<" , ["readVariable" , "BallY" ] , ["+" , ["readVariable" , "OppY" ] , ["/" , ["readVariable" , "BatWidth" ] , "2" ] ] ] ] , ["&" , ["<" , "-167.5" , ["readVariable" , "BallX" ] ] , ["<" , ["readVariable" , "BallX" ] , "-152.5" ] ] ] ] ,[ ["setVar:to:" , "BallX" , ["+" , ["readVariable" , "BallX" ] , ["*" , ["computeFunction:of:" , "sin" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] , ["setVar:to:" , "BallY" , ["+" , ["readVariable" , "BallY" ] , ["*" , ["computeFunction:of:" , "cos" , ["readVariable" , "BallDir" ] ] , ["readVariable" , "BallVel" ] ] ] ] ] ] ] ] ] ] ]] ] }],"info":{} }
- ViggyMish
-
Scratcher
19 posts
Scratch emulator (GriffScratch) saved projects
And without JSON it will have faces
Last edited by ViggyMish (Dec. 24, 2025 10:30:14)
- itsameluigi101-test
-
New Scratcher
1 post
Scratch emulator (GriffScratch) saved projects
Just a quick talk with scratch cat! Here it is: {“objName”:“Stage”, “children”: [{“objName”:“project” ,“variables”: ,“scripts”:[ [ 94 , 27 , [ , [“doUntil” , [“<” , , “1” ] ,[ ] ] , , , , , , , , [“doUntil” , [“>” , , ] ,[ [“say:” , [“getLine
fList:” , , “Looping” ] ] , , ] ] ]] ] }],“info”:{} }
fList:” , , “Looping” ] ] , , ] ] ]] ] }],“info”:{} }- Discussion Forums
- » Project Save & Level Codes
-
» Scratch emulator (GriffScratch) saved projects

SCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.

SCRIPTS ARE NOT VIEWABLE CORRECTLY AFTER BEING PASTED IN LINE THIS. YOU CAN SEE THEN PROPERLY WHEN YOU CLICK QUOTE FOR A PARTICULAR POST BUT OTHERWISE IT'S NOT RIGHT.