Discuss Scratch
- c0der0928
-
Scratcher
100+ posts
Ring block
{move (1) steps} :: grey :: reporteralso add a run block for these ring blocks- c0der0928
-
Scratcher
100+ posts
Ring block
example
set [code v] to ({move (5) steps} :: grey :: reporter)
run (code) :: control //this would move 5 steps- Dragonmyflesh
-
Scratcher
500+ posts
Ring block
Why would you want to do this when you have normal code.
- BigNate469
-
Scratcher
1000+ posts
Ring block
Why would you want to do this when you have normal code.Because you can do
set [some blocks v] to ({move (10) steps} :: grey ring)
set [some blocks v] to (join (some blocks) [(insert some more blocks here)])
run (some blocks) :: controlWhich is currently impossible to do, and unlike other places that can dynamically run code like this, it doesn't run into security issues.- Dragonmyflesh
-
Scratcher
500+ posts
Ring block
Just use messages.Why would you want to do this when you have normal code.Because you can doset [some blocks v] to ({move (10) steps} :: grey ring)Which is currently impossible to do, and unlike other places that can dynamically run code like this, it doesn't run into security issues.
set [some blocks v] to (join (some blocks) [(insert some more blocks here)])
run (some blocks) :: control
- BigNate469
-
Scratcher
1000+ posts
Ring block
If you want to do that and be able to programmatically build any script, you need hundreds of messages (one for every block), not to mention it being slow (messages have fairly specific rules about when they execute in relation to when the screen is updated) and hard to use.snipJust use messages.
Meanwhile, with this, you can essentially just build a script all at once and execute it quickly.
It would also make compiling scripts to Scratch generated in a project possible.
- 235x
-
Scratcher
100+ posts
Ring block
How do you add inputs?Maybe by setting variables named after keyboard buttons to true/false based on if the button is being pressed. But it could probably be a bit slow.
- Scratchedbyyou_forum
-
Scratcher
100+ posts
Ring block
The ring block and run code block is originally from Snap, for anyone that doesn't know. 

- cookieclickerer33
-
Scratcher
1000+ posts
Ring block
No support
As much as I LOVE snap, they’re different for a reason.
What this would allow you to do is no different than that of an if else statement
While I do see the value and potental of brining rings to scratch. They just seem entirely out of scope
As much as I LOVE snap, they’re different for a reason.
What this would allow you to do is no different than that of an if else statement
While I do see the value and potental of brining rings to scratch. They just seem entirely out of scope
- randomguy3513
-
Scratcher
1000+ posts
Ring block
I think custom variable blocks (That was already suggested by the way) would be much better since they are easier
to understand. Ring blocks will lead to more confusion rather than being helpful for new scratchers.
I really like this suggestion but I think it will just cause too much confusion for it to be a good implementation.
to understand. Ring blocks will lead to more confusion rather than being helpful for new scratchers.
I really like this suggestion but I think it will just cause too much confusion for it to be a good implementation.
- BigNate469
-
Scratcher
1000+ posts
Ring block
if yall want this just use Snap!As has been mentioned in other topics, saying "just use [link to external program(s)" isn't a usually good workaround, because not everyone can always access them or wants to use them.
That said, considering Snap! is a project of a university, and as a result, isn't blocked much anywhere, and is now able to be run anywhere because it's no longer a Scratch 1.4 mod, it doesn't really have these issues.
- han614698
-
Scratcher
1000+ posts
Ring block
based on this topic i see no reason why can't use this
define give me scratch
- bubgamer072
-
Scratcher
96 posts
Ring block
based on this topic i see no reason why can't use thistrust me, rings are much much much much more than just custom blocks. for example:define give me scratch
when I receive [add block v]and then, you can do something like this:
ask [which block do you want to add?] and wait
if <(answer) = [move forwards]> then
set [script v] to (join (script) ({move (10) steps} :: grey ring))
else
...
end
when I receive [go v]to allow the user to create and run their own script.
run (script) :: control
- Dragonmyflesh
-
Scratcher
500+ posts
Ring block
If you want to do that and be able to programmatically build any script, you need hundreds of messages (one for every block), not to mention it being slow (messages have fairly specific rules about when they execute in relation to when the screen is updated) and hard to use.snipJust use messages.
Meanwhile, with this, you can essentially just build a script all at once and execute it quickly.
It would also make compiling scripts to Scratch generated in a project possible.
If you can do this:
{move (1) steps} :: grey :: reporterThe you can do this:
when I receive [message v]
move (1) steps
It's not that hard.
Last edited by Dragonmyflesh (Nov. 21, 2024 16:00:30)
- c0der0928
-
Scratcher
100+ posts
Ring block
no i mean i can just do the ring thing, then why is it in snap berkeley edu
- c0der0928
-
Scratcher
100+ posts
Ring block
TheCreatorOfUnTVlook
How do you add inputs?
{move (#1 :: variables) steps} with inputs (#1 :: variables) :: grey :: reporter- mcsquaggle
-
Scratcher
500+ posts
Ring block
semi support, while this seems to make compiling projects easier and faster, and somewhat prevents clutter, i really just do not see a use case for this outside projects that need compiling and scratch inside of scratch projects. like would something like this work?
when I start as a clone
set [code to run v] to []
if <...::grey> then
set [code to run v] to ((...::grey stack)::extension)
else
set [code to run v] to ((...::grey stack)::extension)
end
run (code to run)::control










