Control Block : All at Once // Put blocks in this loop and they run together

id: 569654

category: Suggestions

posts: 60

VedanshS933 VedanshS933 loading
If we put 2 or more blocks in this loop it will run the loop. For example if I put a Text to Speech and Say block it would do together! If text to speech and say get over then it will exit the loop and do next code

Mockups
All at Once {} :: control

If you want cap

All at Once {} :: control cap

Scratch On!

PS : Not a Duplicate because this launches two blocks at once but that will make it go at turbo speed like run without screen refresh function in custom blocks
RL1123 RL1123 loading
How exactly is this not a nice workaround? It literally performs the same function. And even if we were to ignore that, this is a duplicate.
VedanshS933 VedanshS933 loading

rayli1123 wrote:

How exactly is this not a nice workaround? It literally performs the same function. And even if we were to ignore that, this is a duplicate.

I am not going to use hundreds of blocks just to do that!
RL1123 RL1123 loading

VedanshS933 wrote:

rayli1123 wrote:

How exactly is this not a nice workaround? It literally performs the same function. And even if we were to ignore that, this is a duplicate.

I am not going to use hundreds of blocks just to do that!
Ah yes, this would add hundreds of blocks to your project, because of course, we use hundreds of custom blocks in every project. The workaround only is a block extra, so it wouldn't make a difference at all.
Use a function and make it run without screen refresh. That simple.
Me returning to the forums after one month
VedanshS933 VedanshS933 loading

Yellowsheep43 wrote:

Use a function and make it run without screen refresh. That simple.
Me returning to the forums after one month

For me it will make it cluttered

VedanshS933 wrote:

Yellowsheep43 wrote:

Use a function and make it run without screen refresh. That simple.
Me returning to the forums after one month

For me it will make it cluttered
How would it be any more cluttered than if somebody else did it?
Virus6120 Virus6120 loading

rayli1123 wrote:

How exactly is this not a nice workaround? It literally performs the same function. And even if we were to ignore that, this is a duplicate.
heres some insight: functions are slow slow in scratch, and that is an understatement

if you want your scratch code to run fast its often better to produce messy code just to optimize it.
VedanshS933 VedanshS933 loading

Virus6120 wrote:

rayli1123 wrote:

How exactly is this not a nice workaround? It literally performs the same function. And even if we were to ignore that, this is a duplicate.
heres some insight: functions are slow slow in scratch, and that is an understatement

if you want your scratch code to run fast its often better to produce messy code just to optimize it.

ok

Yellowsheep43 wrote:

Use a function and make it run without screen refresh. That simple.
Me returning to the forums after one month
I agree.
welcome back, forumer!
RL1123 RL1123 loading

Virus6120 wrote:

heres some insight: functions are slow slow in scratch, and that is an understatement

if you want your scratch code to run fast its often better to produce messy code just to optimize it.
How are run without screen refresh functions slow? They're literally the fastest thing that exists (on scratch), repeat loops don't even come close to how fast they are.
Virus6120 Virus6120 loading

rayli1123 wrote:

Virus6120 wrote:

heres some insight: functions are slow slow in scratch, and that is an understatement

if you want your scratch code to run fast its often better to produce messy code just to optimize it.
How are run without screen refresh functions slow? They're literally the fastest thing that exists (on scratch), repeat loops don't even come close to how fast they are.
Not running the function but calling the function.
Myst-- Myst-- loading
No support. There is an easy workaround.
RL1123 RL1123 loading

Virus6120 wrote:

rayli1123 wrote:

Virus6120 wrote:

heres some insight: functions are slow slow in scratch, and that is an understatement

if you want your scratch code to run fast its often better to produce messy code just to optimize it.
How are run without screen refresh functions slow? They're literally the fastest thing that exists (on scratch), repeat loops don't even come close to how fast they are.
Not running the function but calling the function.
What? Are you talking about the use of the function itself or getting it from MyBlocks?
VedanshS933 VedanshS933 loading
Ok, thanks, I'll close it

Thank ST for opening it again
VedanshS933 VedanshS933 loading
Bring Up My Topic!
VedanshS933 VedanshS933 loading

7salad3salad wrote:

VedanshS933 wrote:

Yellowsheep43 wrote:

Use a function and make it run without screen refresh. That simple.
Me returning to the forums after one month

For me it will make it cluttered
How would it be any more cluttered than if somebody else did it?

Virus6120 wrote:

rayli1123 wrote:

Virus6120 wrote:

heres some insight: functions are slow slow in scratch, and that is an understatement

if you want your scratch code to run fast its often better to produce messy code just to optimize it.
How are run without screen refresh functions slow? They're literally the fastest thing that exists (on scratch), repeat loops don't even come close to how fast they are.
Not running the function but calling the function.

Please read the OP again
T0RRENT_ T0RRENT_ loading
Please explain.

VedanshS933 wrote:

So if you see the below posts you might get confused. So I'll explain it better. Really what I mean is to add an All at Once block in which 2 things will run at the same time not to make it fast. It'll be a Control Block. It will be helpful when you want to say and text to speech at the same time!

Scratch On!

PS : Not a Duplicate.

VedanshS933 VedanshS933 loading

T0RRENT_ wrote:

Please explain.

VedanshS933 wrote:

So if you see the below posts you might get confused. So I'll explain it better. Really what I mean is to add an All at Once block in which 2 things will run at the same time not to make it fast. It'll be a Control Block. It will be helpful when you want to say and text to speech at the same time!

Scratch On!

PS : Not a Duplicate.


Like if you put 2 blocks in the loop so they will run together instead of this the n that
T0RRENT_ T0RRENT_ loading
You mean just 2 custom blocks in a forever loop?
10goto10 10goto10 loading

VedanshS933 wrote:

So if you see the below posts you might get confused. So I'll explain it better. Really what I mean is to add an All at Once block in which 2 things will run at the same time not to make it fast. It'll be a Control Block. It will be helpful when you want to say and text to speech at the same time!
The confusion is that Scratch used to have an All at Once block that was basically a copy of the Warp block in SNAP! It’s purpose was to make a script run at turbo speed. However,…

I think what you want is to launch portions of subscripts in the same script.

This could let you run concurrent set of blocks without having to create additional names for custom blocks or broadcasts.

It also would let you make programs that were a little more compact (fewer broadcast names, custom names, variable names that tend after a while to clutter the block pallet.)

You might want to take a look at Snap. It’s free, very much like Scratch, and has some interesting features. https://snap.berkeley.edu/
VedanshS933 VedanshS933 loading

10goto10 wrote:

VedanshS933 wrote:

So if you see the below posts you might get confused. So I'll explain it better. Really what I mean is to add an All at Once block in which 2 things will run at the same time not to make it fast. It'll be a Control Block. It will be helpful when you want to say and text to speech at the same time!
The confusion is that Scratch used to have an All at Once block that was basically a copy of the Warp block in SNAP! It’s purpose was to make a script run at turbo speed. However,…

I think what you want is to launch portions of subscripts in the same script.

This could let you run concurrent set of blocks without having to create additional names for custom blocks or broadcasts.

It also would let you make programs that were a little more compact (fewer broadcast names, custom names, variable names that tend after a while to clutter the block pallet.)

You might want to take a look at Snap. It’s free, very much like Scratch, and has some interesting features. https://snap.berkeley.edu/

I want that there will be a control block which will be All at Once and whatever you put in it will be running together

Scratch On!
T0RRENT_ T0RRENT_ loading
Why don't you say Scratch On in your signature?
JPJPMan JPJPMan loading
broadcast [message v]
ask [Stuff?] and wait

when I receive [message v]
...
Or
say [stuff]
ask [Stuff?] and wait
say []
There are a lot of other work arounds, but these are the ones that came to my head

VedanshS933 wrote:

(#1)

PS : Not a Duplicate.

You can see here that the scratch team have closed all at once suggestions in the past in favour for that suggestion linked, so this is a duplicate.
10goto10 10goto10 loading

dertermenter wrote:

VedanshS933 wrote:

(#1)

PS : Not a Duplicate.

You can see here that the scratch team have closed all at once suggestions in the past in favour for that suggestion linked, so this is a duplicate.
It’s always good to define your terms.

The suggestions you pointed to seem to be variations of the warp block that the Scratch Team called ‘all at once’ in the Scratch 2.0 beta. However, it looks like Ike the OP is suggesting a way to launch multiple subscripts at the same time in the same script, without the need to create multiple broadcast scripts. It’s true that this suggestion has re-used the name ‘all at once’ but I took it to mean ‘launch multiple blocks in the same frame, i.e. all at once’ in the same script. However, there might be a launch duplicate out there - I didn’t look for that.

VedanshS933 VedanshS933 loading

10goto10 wrote:

dertermenter wrote:

VedanshS933 wrote:

(#1)

PS : Not a Duplicate.

You can see here that the scratch team have closed all at once suggestions in the past in favour for that suggestion linked, so this is a duplicate.
It’s always good to define your terms.

The suggestions you pointed to seem to be variations of the warp block that the Scratch Team called ‘all at once’ in the Scratch 2.0 beta. However, it looks like Ike the OP is suggesting a way to launch multiple subscripts at the same time in the same script, without the need to create multiple broadcast scripts. It’s true that this suggestion has re-used the name ‘all at once’ but I took it to mean ‘launch multiple blocks in the same frame, i.e. all at once’ in the same script. However, there might be a launch duplicate out there - I didn’t look for that.


Yeah, this is not a dupe anyways. It has been unclosed 2 times

———–

Bring Up My Topic!
10goto10 10goto10 loading

VedanshS933 wrote:

Yeah, this is not a dupe anyways. It has been unclosed 2 times

I think that will keep happening unless you change your title to something like Control Block : Launch All at Once because the “All at once” block once existed and even though it did something else, it is mentioned in the list of rejected suggestions.

You’re not asking for warp speed. You’re asking for a way that one script could launch a glide while launching a forever look to check if a color has been touched and then stop the script (or any number of other commands or loops). It’s a way of putting several related stacks into one script to make it easier to read and to avoid having a bunch of “when I receive” hats. But right now, your suggestion will always be confused with the rejected “warp” block that was once called “all at once”.
cant you make broadcasts to do that?
broadcast [all at once1 v]
when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

when I receive [all at once1 v]
...
10goto10 10goto10 loading

7salad3salad wrote:

cant you make broadcasts to do that?
Yes, that is the Scratch way to do it. But that spreads out the set of launched scripts. It would improve readability if they were together in one script. It might also help with the logic of stopping a loop or a block if these launched blocks and sub-scripts were still considered part of the script that launched them.

Launch all at once { 
- {
glide (5) secs to x: (0) y: (0)
} :: control

- {

wait until <key [space v] pressed?>
stop [This script v]
} :: control

} end :: control

Ideally the
stop [ This Script v]
would also stop the glide.
VedanshS933 VedanshS933 loading

7salad3salad wrote:

cant you make broadcasts to do that?
broadcast [all at once1 v]
when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

when I receive [all at once1 v]
...

That's too annoying
doodleblues doodleblues loading
semi support ..
Cons | easy workaround, could be used to lead to intentionally crash projects
Pro | would be more efficient in some cases instead of Broadcast, when i receive(x3)
More cons than pros, but i think this is a really good idea
mbrick2 mbrick2 loading
Hacked block workaround .
VedanshS933 VedanshS933 loading

mbrick2 wrote:

Hacked block workaround .

That does not work
This was in 2.0 alpha, but wonder why they removed. This would be better than just telling you to turn on turbo mode, though it could be workarounded with custom blocks with run without screen refresh checked. Just saying.
k0d3rrr k0d3rrr loading

historical_supa wrote:

This was in 2.0 alpha, but wonder why they removed. This would be better than just telling you to turn on turbo mode, though it could be workarounded with custom blocks with run without screen refresh checked. Just saying.
Correct! According to the Scratch Wiki
The block was removed later in the alpha version of Scratch 2.0; in the official release, custom blocks instead have an option entitled “run without screen refresh”, which runs the script faster.
A question: what would happen if you added a wait block? Would it skip it? Same for repeat blocks and others.
VedanshS933 VedanshS933 loading

historical_supa wrote:

A question: what would happen if you added a wait block? Would it skip it? Same for repeat blocks and others.

It will run it together so it will skip it
Silicobra Silicobra loading
Support, it sounds really nice and I'd want such a block!

VedanshS933 wrote:

historical_supa wrote:

A question: what would happen if you added a wait block? Would it skip it? Same for repeat blocks and others.

It will run it together so it will skip it
I thought so too. Just checking
10goto10 10goto10 loading

historical_supa wrote:

This was in 2.0 alpha, but wonder why they removed. …
Well no. The suggestion in this topic is to run blocks in parallel. The badly named Scratch 2.0 feature (all at once) was created to run a set of blocks at “warp speed”.

If you go back a few posts you’ll see some mockups that I made of “launching” small scripts to run at the same time or “all at once”.

10goto10 wrote:

historical_supa wrote:

This was in 2.0 alpha, but wonder why they removed. …
Well no. The suggestion in this topic is to run blocks in parallel. The badly named Scratch 2.0 feature (all at once) was created to run a set of blocks at “warp speed”.

If you go back a few posts you’ll see some mockups that I made of “launching” small scripts to run at the same time or “all at once”.

Oh yeah.
I still have no idea why not just use custom blocks.
If its messy, put all the customs in one place

Oh yh also came up with
define run without screen refresh script (script
if <<[script] = [1]>> then
Example
end