Discuss Scratch

selfexplanatory
Scratcher
100+ posts

More hide/show blocks

Mockups:
[show v] sprite [ v] ::looks
The first dropdown would have: show, hide show all except and hide all except.
[ v] sprite [this sprite v] ::looks

[ v] sprite [other sprites v] ::looks

[ v] sprite [all sprites v] ::looks

[ v] sprite [sprite v] ::looks
Then backdrop
[ v] backdrop ::looks
The dropdown would have show and hide
Workaround for the backdrop ones:
when green flag clicked
switch backdrop to [backdrop v]
set [save backdrop v] to (backdrop #)
forever
if <(backdrop shown?) = [true]> then
set [save backdrop v] to (backdrop #)
end
end

define show backdrop
switch backdrop to (save backdrop)
set [backdrop shown? v] to [true]

define hide backdrop
set [backdrop shown? v] to [false]
switch backdrop to [blank v]
Next
<[sprite v] is [shown v]? ::looks>
The first would have all sprites, this sprite and a specified sprite. The second would have hidden and shown
<backdrop is [shown v]? ::looks>
The dropdown would have shown and hidden
Virus6120
Scratcher
100+ posts

More hide/show blocks

What would be behind the backdrop, though…? You could do the ghost effect on the backdrop and it would be black, so what's the point of having a show / hide if that exists. Infact, what's the point of the ghost effect even existing on the backdrop when you have the brightness effect? Consistency / oversight, I guess. Back on topic, you can't control and change other sprite's position values for example, so what's the point of letting the hide / show block be able to do so? It breaks the consistency, and I'm sure there are other more useful sprite independent values that should be able to be controlled from any sprite.

Might I mention how useless the last two drop downs for the second field would be? You could just do
[show v] sprite [all sprites v] :: looks
[hide v] sprite [all sprites v] :: looks
for example. The time frame between such would be imperceivable if there at all if the screen even refreshes.

Ah, whatever, I guess it could fit, I just really don't think that this would be in general all that useful.

Last edited by Virus6120 (Oct. 1, 2021 22:44:31)

_nix
Scratcher
1000+ posts

More hide/show blocks

I think that while these would be handy shorthand blocks, they're also a little too specific to be worth the complexity of more inputs in a generally really common block (or adding a new block which isn't used all that often). Also, maybe more importantly, I think the workaround is a valuable coding lesson: it's an easy-to-understand use of a very useful feature, broadcasts!

The workaround for “hide sprite (all sprites)” is this:

when I receive [hide all sprites v] // put this script in every sprite!
hide

broadcast [hide all sprites v] // use this when you want to hide all sprites

The workaround for showing a particular sprite is this:

when I receive [show dog v] // put this in a Dog sprite, or a different message for a different sprite
show

broadcast [show dog v] // same way you do "hide all sprites", just a different option!

And so on! It's easy and shows the basics of broadcasts, which you can regularly use in programs of any amount of complexity.

In general, I feel it's a good idea to consider the educational possibilities for suggestions (both when writing them and when replying to them). Scratch is meant to be an educational tool, so it's good to think about how adding features can hinder or help learning.
-Qube-
Scratcher
4 posts

More hide/show blocks

Virus6120 wrote:

What would be behind the backdrop, though…?
t h e e n d l e s s v o i d

In all seriousness, what's the point of having a “this sprite” option if there already IS hide/show blocks? Anywho, I definitely see where your coming from, but from my standpoint, if there's already a not-extremely-tedious-and-time-consuming-option-which-doesn't-take-days-to-complete method, then I don't see a point to adding it. So overall, no support.
selfexplanatory
Scratcher
100+ posts

More hide/show blocks

-Qube- wrote:

Virus6120 wrote:

What would be behind the backdrop, though…?
t h e e n d l e s s v o i d

In all seriousness, what's the point of having a “this sprite” option if there already IS hide/show blocks? Anywho, I definitely see where your coming from, but from my standpoint, if there's already a not-extremely-tedious-and-time-consuming-option-which-doesn't-take-days-to-complete method, then I don't see a point to adding it. So overall, no support.
this is because it is replacing it.

Powered by DjangoBB