Topic Information

Run without screen refresh {} block by danielthebanana4 in Suggestions

Posts: 32

1: danielthebanana4 wrote at 3:53:44 AM 30/6/20204175712
Run without screen refresh {} :: grey
I would like this block for scratch, every time I want code to run without screen refresh I have to make a custom block, which i do not want for some code now and then.

This is inspired by the warp block off Snap!
warp {} :: grey
2: whiteandblackcat wrote at 4:10:54 AM 30/6/20204175729
I like this idea! Although the workaround is pretty easy and compact, it could be useful and would certainly be fun to play with! What block category would it be in? Control?
Run without screen refresh {
...
}::control
Like that ^? Or a different category?
3: danielthebanana4 wrote at 4:16:03 AM 30/6/20204175734

whiteandblackcat wrote:

I like this idea! Although the workaround is pretty easy and compact, it could be useful and would certainly be fun to play with! What block category would it be in? Control?
Run without screen refresh {
...
}::control
Like that ^? Or a different category?
Hmmm.
My Blocks:
Run without screen refresh {} :: custom
Control:
Run without screen refresh {} :: control
I think my blocks because when you build a block it has the option to run without screen refresh and that relates.
Or the control for other reasons
4: whiteandblackcat wrote at 4:19:16 AM 30/6/20204175738

danielthebanana4 wrote:

whiteandblackcat wrote:

I like this idea! Although the workaround is pretty easy and compact, it could be useful and would certainly be fun to play with! What block category would it be in? Control?
Run without screen refresh {
...
}::control
Like that ^? Or a different category?
Hmmm.
My Blocks:
Run without screen refresh {} :: custom
Control:
Run without screen refresh {} :: control
I think my blocks because when you build a block it has the option to run without screen refresh and that relates.
Or the control for other reasons

But then people might think they made the block “run without screen refresh” or start asking how you make a custom block in a C shape.
5: danielthebanana4 wrote at 4:28:38 AM 30/6/20204175744

whiteandblackcat wrote:

danielthebanana4 wrote:

whiteandblackcat wrote:

I like this idea! Although the workaround is pretty easy and compact, it could be useful and would certainly be fun to play with! What block category would it be in? Control?
Run without screen refresh {
...
}::control
Like that ^? Or a different category?
Hmmm.
My Blocks:
Run without screen refresh {} :: custom
Control:
Run without screen refresh {} :: control
I think my blocks because when you build a block it has the option to run without screen refresh and that relates.
Or the control for other reasons

But then people might think they made the block “run without screen refresh” or start asking how you make a custom block in a C shape.
Hmm good point
6: whiteandblackcat wrote at 5:25:04 AM 30/6/20204175788
Maybe it could go in the pen section, since it would most likely be used with pen? I still think the best option would be control, but it has a lot of potential to confuse new scratchers….
7: da-maker wrote at 6:15:15 AM 30/6/20204175839
A block like this appeared during the development of Scratch 2.0, called “all at once” or “warp speed”. It appeared in the control blocks. I'm not exactly sure why it was removed, though it was made up for by adding a “Run without screen refresh” checkbox onto custom blocks. While the workaround of putting scripts in custom blocks can work if used sparingly, it may become messy if you make a project involving many of them.

As for possible New Scratcher confusion, the checkbox in custom blocks isn't exactly explained as well. However, looking at the Scratch Wiki could help, or asking a question in the forums about it. There are probably other blocks that can be confusing to other New Scratchers, like this block.

(() mod ())

In short, I support adding the block back.
8: danielthebanana4 wrote at 6:17:35 AM 30/6/20204175841

da-maker wrote:

I support adding the block back.
Yeah

da-maker wrote:

As for possible New Scratcher confusion, the checkbox in custom blocks isn't exactly explained as well. However, looking at the Scratch Wiki could help, or asking a question in the forums about it. There are probably other blocks that can be confusing to other New Scratchers, like this block.
They need to also bring back the help guide for the blocks. They had it in 1.4 and 2.0 but why not 3.0?
9: da-maker wrote at 6:21:59 AM 30/6/20204175843

danielthebanana4 wrote:

They need to also bring back the help guide for the blocks. They had it in 1.4 and 2.0 but why not 3.0?
I forgot to mention that, but I relied on that help guide on blocks that I didn't know how they worked. This includes that said block. Although it's a separate suggestion itself, I do think that the help guide for blocks should be brought back, or at the very least a more accessible method of reaching the Scratch Wiki.

Of course, if New Scratchers regularly know about the wiki though, then that previous statement doesn't matter.
10: HTML-Fan wrote at 10:37:35 AM 30/6/20204176261
You can do this when cou create a new block! There's a checkbox.
11: danielthebanana4 wrote at 10:38:36 AM 30/6/20204176263

HTML-Fan wrote:

You can do this when cou create a new block! There's a checkbox.
I know that, but the point is I don't want it to be in a custom block.
12: HTML-Fan wrote at 10:39:58 AM 30/6/20204176268
But it's really easy! We don't need something extra for this. For my signature project I just did this:
define loop
when green flag clicked
forever
loop
end
13: whiteandblackcat wrote at 10:40:32 AM 30/6/20204176269

HTML-Fan wrote:

You can do this when cou create a new block! There's a checkbox, under the add parameters thing.
Yep, which is part of the reason I'm hesitant to support this; it's a neat idea but pretty pointless.
14: HTML-Fan wrote at 10:42:20 AM 30/6/20204176276

whiteandblackcat wrote:

it's a neat idea but pretty pointless.
Yep. You just copy the specific code over to a block and insert the block execution at this point where you took the code from. If it would be a C block, it wouldn't be much easier.

So, not really support.
15: Madcatofdoom wrote at 10:58:53 AM 30/6/20204176302
Semi-Support. I think this could be helpful with stuff that uses the run without screen refresh where you don't want to use a custom block, but there aren't really that many uses that requires you to not use the “run without screen refresh” without a custom block.
16: HTML-Fan wrote at 11:00:59 AM 30/6/20204176306
Actually, you can just loop a custom fast block with a normal forever block, and there you have your 60 fps. It's not really useful and custom blocks are never bad, they help organizing code.
17: Maximouse wrote at 11:02:23 AM 30/6/20204176308
This did exist during Scratch 2.0 development (called “all at once”) but it was removed and I see no reason not to add it back. It's annoying when I have to write code like this:
when I receive [message v]
handle message :: custom

define handle message
// runs without screen refresh
...

if I could do this:
when I receive [message v]
all at once {
...
} :: control
18: HTML-Fan wrote at 11:04:33 AM 30/6/20204176309
I think it's not really annoying and it helps organizing the code, as I said. And it's not so self-explaining as “forever” ur “repeat until” is.

An idea: You can make any hat block run without a screen refrech like you could with a custom block (by right-clicking on them) and there will also be a little icon when it's enabled.
19: Maximouse wrote at 11:12:42 AM 30/6/20204176330

HTML-Fan wrote:

it helps organizing the code
Not necessarily. If you have lots of custom blocks, this clutters the palette.
20: HTML-Fan wrote at 11:15:28 AM 30/6/20204176340

Maximouse wrote:

HTML-Fan wrote:

it helps organizing the code
Not necessarily. If you have lots of custom blocks, this clutters the palette.
Well, it's more or less the equivalent to functions in C++. And in my snake project it was useful to have them so I knew where to find the collision detection and where the drawing.

And, really, where do you jump so fast and often between those two that it makes sense? Of course, it makes no sense to make a custom block with 5 blocks so it runs faster, but where does that happen?