Discuss Scratch

DadOfMrLog
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

Was thinking about backdrops not having any motion blocks available (well, you can drag from another sprite, but they do nothing)…

You can apply various effects to the backdrop at the moment, but how about if the backdrop could be moved around just like a sprite? - That could be useful to do various things behind the pen.

I was particularly thinking this a while back when I first saw that "alone in the depths“ project - how much easier it would be to simulate up/down movement just by moving the backdrop up/down, so that it appeared darker/lighter. (The alternative would be rendering the whole background with pen…)

It would also be simpler to include pen-drawn stuff with scrolling platformers - at the moment, levels are sprites, so end up in front of pen.


But that leads on to a more radical thought…

What, then, is the difference between the backdrop and a normal sprite? At the moment, the main one is that the backdrop is behind the pen. (There are some other differences, such as no local variables, etc.)

In that case, why not have the option for *any* normal sprite to become a ‘backdrop’? -i.e. behind the pen.

I'm not sure the details of how it would all be implemented such that it's backward compatible with the current backdrop methodology. But maybe it could be made so that the ”stage“ pane of the editor becomes just like the ”sprites“ pane? -Perhaps so you can see one column of it by default (meaning it's basically the same as now), but with a little right-arrow handle (like the left one for the project view size) which gives the option to expand it to see more sprites that you've dragged into it (hiding part of the ”sprites“ pane), and shrink it again (i.e. expand the normal ”sprites“ pane).

Essentially, then, the only difference between a normal sprite and a ‘stage sprite’ is that it's in its own layering system that's behind the pen (so I guess ”go to front" would make it the frontmost stage sprite, but still behind all normal sprites and pen…)

Thoughts…?

Last edited by DadOfMrLog (Feb. 10, 2014 13:59:14)

procd
Scratcher
100+ posts

Backdrop motion blocks... (plus more radical thoughts)

Been played with, don't know why it was dropped though.
DadOfMrLog
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

procd wrote:

Been played with, don't know why it was dropped though.
Interesting… Looks somewhat different, though - that's suggesting the actual co-ordinate system can ‘scroll’, isn't it?
(I can understand that leading to potential confusion…)

I'm just suggesting the possibility that sprites can be turned into ‘stage sprites’ that can be moved around using motion blocks just like normal sprites, but they exist behind the pen layer.

And the initial setup is that there is a single such stage sprite which corresponds exactly to the current backdrop (i.e. so it behaves exactly as the stage does now if you don't move or rotate it).

Last edited by DadOfMrLog (Feb. 10, 2014 18:22:36)

procd
Scratcher
100+ posts

Backdrop motion blocks... (plus more radical thoughts)

I never saw it in action. It would be interesting to have but can see that it could get a tad confusing as you say.
How about a
go to front
and
go back () layers
for the pen layer? ;-)
ev3commander
Scratcher
500+ posts

Backdrop motion blocks... (plus more radical thoughts)

procd wrote:

Been played with, don't know why it was dropped though.
Looked at 1.4, no motion stage blocks.
AonymousGuy
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

procd wrote:

I never saw it in action. It would be interesting to have but can see that it could get a tad confusing as you say.
How about a
go to front
and
go back () layers
for the pen layer? ;-)
Or maybe
send [behind v] pen layer :: looks //With "in front of" in the dropdown
I think that this could be an interesting idea. Also, if it was implemented, such as in a checkmark in the sprite menu, the above block could also be implemented for fast switching. (I don't know why you would need to switch…)
JamesOuO
Scratcher
500+ posts

Backdrop motion blocks... (plus more radical thoughts)

Instead, maybe if you moved the x by 5 forever then would it make a “clone” to the left and therefore the background could infinitely scroll? I would like that idea.
The one you have maybe seems a little too complicated for scratch, maybe a layering pen block, like procd said would work though.
TheLogFather
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

procd wrote:

How about a
go to front
and
go back () layers
for the pen layer? ;-)
I guess this could provide the necessary capability I was looking for - essentially, being able to have some sprites behind the pen.

My main concern would be that the layering system in Scratch is a paintoworkwithwell. I very rarely come across a project where a particular sprite is placed so exactly at a particular layer - because it's so easy to get it notquiteright. (You normally end up seeing things like “forever / go back 999… layers” in various sprites, with the number of 9's essentially an attempt to make some go back ‘further’ than others - which isn't really a reliable way to do it, since it depends so much on script execution order, which in turn depends on the current layer of a script's sprite…)

I'd suspect the same would be true of a pen layer - it'd be beyond most Scratchers to want to worry about all that lot just to figure out exactly how many layers to move the pen by to make it go exactly in front of this sprite and behind some other sprite.

While in some ways it'd perhaps be really nice to even see different sprites getting their own specific pen layers (no more worrying about rendering those 3D objects in the right depth order! - just have each object be a clone and ensure they are in the appropriate layer before drawing everything), I can't see it being that practical until there's a better way to control (and/or understand) the current layering in Scratch.

But maybe I'm just a bit too paranoid about layering as it stands…?
TheLogFather
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

TheLogFather wrote:

I'd suspect the same would be true of a pen layer - it'd be beyond most Scratchers to want to worry about all that lot just to figure out exactly how many layers to move the pen by to make it go exactly in front of this sprite and behind some other sprite
…especially when you take into account the extra considerations of the layers taken up by variables and other reporters (even hidden ones)…

hitsboo920
Scratcher
54 posts

Backdrop motion blocks... (plus more radical thoughts)

you can drag a motion block into your backdrop
switch to your backdrop drag that motion block
into your backdrop scripted page then you have
a motion block!
Abstract-
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

AonymousGuy wrote:

procd wrote:

I never saw it in action. It would be interesting to have but can see that it could get a tad confusing as you say.
How about a
go to front
and
go back () layers
for the pen layer? ;-)
Or maybe
send [behind v] pen layer :: looks //With "in front of" in the dropdown
I think that this could be an interesting idea. Also, if it was implemented, such as in a checkmark in the sprite menu, the above block could also be implemented for fast switching. (I don't know why you would need to switch…)
Support for the above.

No Support fr backround motion blocks.
DaSpudLord
Scratcher
1000+ posts

Backdrop motion blocks... (plus more radical thoughts)

hitsboo920 wrote:

you can drag a motion block into your backdrop
switch to your backdrop drag that motion block
into your backdrop scripted page then you have
a motion block!
But the motion block doesn't do anything. Also, please don't necropost.

Abstract- wrote:

AonymousGuy wrote:

procd wrote:

I never saw it in action. It would be interesting to have but can see that it could get a tad confusing as you say.
How about a
go to front
and
go back () layers
for the pen layer? ;-)
Or maybe
send [behind v] pen layer :: looks //With "in front of" in the dropdown
I think that this could be an interesting idea. Also, if it was implemented, such as in a checkmark in the sprite menu, the above block could also be implemented for fast switching. (I don't know why you would need to switch…)
Support for the above.

No Support fr backround motion blocks.
As per above.
whitnlan000
Scratcher
18 posts

Backdrop motion blocks... (plus more radical thoughts)

https://scratch.mit.edu/projects/940860669/
when I receive [ layered pen down]
forever
create clone of [Self]
end

Last edited by whitnlan000 (Dec. 15, 2023 18:55:59)

Powered by DjangoBB