Snap [scratchblocks] Tutorial (Part 1)

I didn't know that. Thank you.

Popular edit formations!

How to make a scratchblock hat:

[scratchblocks]
[ENTER A NAME FOR YOUR HAT] :: events hat
[NAME THIS SCRIPT OR PUT A SCRIPT HERE] :: custom
[/scratchblocks]

How to make a c-shaped block:

[scratchblocks]
[NAME THIS BLOCK!] {[PUT SCRIPTS HERE IN THE C-SHAPE] :: custom} :: custom
[/scratchblocks]

How to ringify a block:

[scratchblocks]
({Run (JavaScript function ( [(block)] ) { [(ringify (block) define no error)] } :: operators) :: control} :: ring custom)
[/scratchblocks]

uh, yeah, but you never showed us how to do it.

for ring, do

[scratchblocks] ({run (JavaScript function \( [] @delInput @addInput \) \{ [] \} :: operators) :: control} :: grey ring) [/scratchblocks]

<p>[scratchblocks]
({run (JavaScript function \( [] @delInput @addInput \) \{ [] \} :: operators) :: control} :: grey ring)
[/scratchblocks]</p>

also, do do a c-shape, do

[scratchblocks] block { ...} :: control [/scratchblocks]

<p>[scratchblocks]
block {
...} :: control
[/scratchblocks]<p>

Y'all should use codification to translate Snap! code into scratchblocks code!

:partying_face:
Oh yeah! I've never thinked about that obvious solution!

how? I mean https://snap.berkeley.edu/snap/snap.html#present:Username=sathvikrias&ProjectName=scratchblocks

@18001767679 will show you. :~)

well, I actually started doing that, except I stopped because using codification, there's no way to tell if there's inputs for the run block or not, like there's no way to tell between

[scratchblocks] run {:: grey ring} @addInput :: control [/scratchblocks]

and

[scratchblocks] run {:: grey ring} with inputs [] @delInput @addInput :: control [/scratchblocks]

New scratch blocks i never invented:
[scratchblocks]
(z position :: motion)
strech to (50) :: looks
([color v] effect :: looks)
<Variable [ v] is true? :: operators>
teleport to site [http://scratchblocks.new.net] :: sensing
(only start and finish numbers from (1) to (5) :: list)
([ v] as text :: list)
(clone :: operators)
turn [turbo mode v] [on v] :: sensing
<soft? :: sensing>
({...} of the {...} script :: operators)
[/scratchblocks]

uh, a lot of those blocks can be recreated (ok, the ([color v] effect) block already exists in snap)
z position, that would be for 3d projects, so that would be a variable (and since snap does not use 3d, there is no need for a primitive block)
stretch to (50), what do you want that to do? You can just use the (stretch costume () ()) block
variable [ v] is true? really, just put the variable in the boolean slot.
teleport to site, just do this script


only start and finish numbers from (1) to (5), what is that supposed to do?
([] as text), just do

[scratchblocks] (join [text] @delInput @addInput :: operators) [/scratchblocks]

clone, is that supposed to say if the sprite is a clone? if so, just do untitled script pic (5)
if you want it to return the sprites clones, do untitled script pic (6)
turn [turbo mode v] [on v] just use the untitled script pic (7) (click the boolean input to make it true) or if you want more stuff, just load the getters and setters library.
<soft?>, ok, I'm not sure what that's supposed to do.
... of the ... script, what is that supposed to do?

There was a block in Scratch 1.0 that got removed, untitled script pic (2), and I'm guessing it's supposed to be the inverse of that one

oh, that makes more sense.

to do that, just do untitled script pic (8)

You can make permanent clones as well as temporary ones. By default, the ones you make in a program are temporary and the ones you create in the GUI are permanent, but you can change that with the SET MY block. So, to see if a sprite is a clone, do
Untitled script pic
(The second input to = is the null string.)

What's that? :0

Codification is a way used to convert Snap! blocks to text code. There is an example project for this. Go to File > Open, go to the Examples tab, and open the "Codification" project.

[scratchblocks]<loud? :: sensing>[/scratchblocks] Is only for 1.4. Other versions has way less features about the microphone. Because It's for BYOB and Scratch 1.4.

[scratchblocks]
{add <... :: custom> for scratch [OTHERS v] } :: control hat
run (JavaScript function ( [ver] [block] @delInput @addInput ) { [add (block) for (ver) all - allow [all] at all] } :: operators) :: control
[/scratchblocks]

I forgot. [scratchblocks]<soft? :: sensing>[/scratchblocks] Reports true when a soft sound is detected. To make this block, do:

[scratchblocks]<<(loudness) < [30]> or <not <loud? :: sensing>>[/scratchblocks]

I was guessing when I said 1.0, I'm a little bit fuzzy on the history of scratch

okay.

the clone block in :snap: is [scratchblocks] (a new clone of [myself v] :: control) [/scratchblocks]