Move variables and lists

id: 13663

category: Suggestions

posts: 271

jh1234l jh1234l loading
Due to a bug, sometimes lists won't show up in the same place as you put it in the editor. Also, you sometimes want a variable (e.g. health for an enemy) to follow a sprite. That's why I suggest “move variable/list to x: ??? y: ???”. It will save time with us no longer having to make 3 sprites with a million costumes or complex pen bars that would be laggy to move and hard to master for beginners.

Supporters:
Jh1234l
ProdigyBeta7
Lilifant7253
DotDash
Yes… desperately need this.

+1
jh1234l jh1234l loading

ProdigyZeta7 wrote:

Yes… desperately need this.

+1

I agree. Lists are so annoying! Added you to the supporters list.

jh1234l wrote:

Due to a bug, sometimes lists won't show up in the same place as you put it in the editor. Also, you sometimes want a variable (e.g. health for an enemy) to follow a sprite. That's why I suggest “move variable/list to x: ??? y: ???”. It will save time with us no longer having to make 3 sprites with a million costumes or complex pen bars that would be laggy to move and hard to master for beginners.

Supporters:
Jh1234l
ProdigyBeta7
this never happened to me. But if it happened to you I Support!
The workarounds do work, but are relatively complex, but I agree that your first point is annoying. I support- it would be useful for new scratchers. One thing to consider: Where would the centre of the variable be? It can't be the centre of the display as it's size changes depending on how many characters it has.
jh1234l jh1234l loading

PhirripSyrrip wrote:

The workarounds do work, but are relatively complex, but I agree that your first point is annoying. I support- it would be useful for new scratchers. One thing to consider: Where would the centre of the variable be? It can't be the centre of the display as it's size changes depending on how many characters it has.

Maybe between the middle 2 digits or in the centre of the middle letter?
jvvg jvvg loading
I've been wanting this for years - REALLY support!
curiouscrab curiouscrab loading
+1, maybe someone will make a Scratch Mod with this someday if it hasn't been already.
DotDash DotDash loading
Hey, Guess what?

SUPPORT

jh1234l wrote:

PhirripSyrrip wrote:

The workarounds do work, but are relatively complex, but I agree that your first point is annoying. I support- it would be useful for new scratchers. One thing to consider: Where would the centre of the variable be? It can't be the centre of the display as it's size changes depending on how many characters it has.

Maybe between the middle 2 digits or in the centre of the middle letter?
But then if the length of the variable changes, that means that it would expand left and right, making it annoying if you want it in the top corner.

I suppose in this case you can workaround:
if length of score = 1 then
go to …
else
if length of score = 2 then
go to …

and so on, but this is a messy way to do things.
Macie1234 Macie1234 loading
guess what?

support
LeeegaaaCy LeeegaaaCy loading
I'm still new to Scratch and I'm pretty sure you can't do this but I thought it would be pretty useful if you could move Variables to a specific location by using Motion blocks such as “go to x:___y:____.” I think this would be useful because I like having things at a specific location and as of now I believe you have to free hand move variables. Thanks for reading!
Braeden5454 Braeden5454 loading
I support. I think this has been suggested before, but Im to lazy to go and find it.
A lot of times I need to move variables for various reasons. For example, sometimes they get in the way of sprites or need to move with a sprite.
I would like a block that looks like this:
move variable [ variable] to x:(0) y:(0)

I don't have any particular project that needs this, but it could help with coming up with other projects that uses it.
AgentCNF AgentCNF loading
Good idea. Support
Phoxie Phoxie loading
Support. I think that this would be very easy to add.
suppport! even though this is workaroundable, i still support!
Braeden5454 Braeden5454 loading

epicsandwich123 wrote:

suppport! even though this is workaroundable, i still support!
It's not workaround able. Support.
BSH1 BSH1 loading
Move [Variable v] to x:(0) y:(0)  //category=variables
Support!
I remember moving variables in scratch 1.4
Support!
Also could we have this for other blocks that can be shown on the stage like
(costume #)
and
(direction)
and also
show variable (costume #)
hide variable (direction)
I would find that very useful
seanbobe seanbobe loading

epicsandwich123 wrote:

suppport! even though this is workaroundable, i still support!
show workaround
Create own watcher using a sprite. Then can place anywhere on screen.

Or make a second variable with similar name, set it up in the second location, hide watcher in the first location, copy value over to second variable, show second watcher.
Semi-support. Not indifferent, but not full support either.
djdolphin djdolphin loading
The only problem is that variables use a slightly different coordinate system than sprites. Their x and y are measured from the top left corner of the screen, and the point represents the position of the top left corner of the variable. Sprites' positions are measured from the center, with the y's increasing as you move up, so this block would have to work the same way for continuity reasons. If the center of a variable was at x: -220 y: 170 using the sprites' coordinate system, and it was 30 pixels wide and 10 pixels tall, its position would actually be x: 5 y: 5 as saved in the project file, and it would stay at that unless you move it. However, if the number of characters in the variable changes, the pseudo-converted-to-sprites'-coordinate-system position will also change because the center changes. This could be confusing for new users who would only expect the variable's position to move when they tell it to. To fix this, it would probably require a rewrite of the whole variable positioning system, which would mess up older projects. There could be a way to change the positioning system of the variable from “top-left” to “center”, though, so semi-support. I hope this was intelligible.
Blaze349 Blaze349 loading

seanbobe wrote:

epicsandwich123 wrote:

suppport! even though this is workaroundable, i still support!
show workaround

TimothyLawyer wrote:

Create own watcher using a sprite. Then can place anywhere on screen.

Or make a second variable with similar name, set it up in the second location, hide watcher in the first location, copy value over to second variable, show second watcher.
MathWizz MathWizz loading

djdolphin wrote:

The only problem is that variables use a slightly different coordinate system…
It's very easy to add an offset to the variable's coordinates.
Support, even though I normally use sprites to display variables.
Cyoce Cyoce loading
move [variable1 v] to x: (10) y: (20) :: variables
Support
mitopolis mitopolis loading
SUPPORTevenTHOUGHitCANbeDONEin1.4.
No support.

Scratch is meant to be a gateway into the world of programming languages, so why add a feature that is not present in any other language?

Scratchers should learn that variables are not actually a means of displaying information, they are a method of storing information, as they are in every other language.
hello2248 hello2248 loading
Yes that would be so helpful, esspecialy if the varible is in large scale format.
19f8361 19f8361 loading
support or not support!
No support, if you want to display information, just learn how to use sprites to make a counter, it's a valuable learning experience that everyone should go through at some point if they want to make polished projects.

Take my project Stylish pong. If I had just used a variable for the counter it would have been much easier, but would it fit the aesthetic? Nope.

If you want to make good looking polished projects, learn how to make good UI. That's all.
matey1234 matey1234 loading

FalconGunner99 wrote:

No support, if you want to display information, just learn how to use sprites to make a counter, it's a valuable learning experience that everyone should go through at some point if they want to make polished projects.

Take my project Stylish pong. If I had just used a variable for the counter it would have been much easier, but would it fit the aesthetic? Nope.

If you want to make good looking polished projects, learn how to make good UI. That's all.
I would support this but..

As per this post, no support.
deilnefle deilnefle loading
Support. I can create my own style or fonts, but it would be easier, when we can edit the variables, too.
Rumanti Rumanti loading

DaSpudLord wrote:

matey1234 wrote:

FalconGunner99 wrote:

No support, if you want to display information, just learn how to use sprites to make a counter, it's a valuable learning experience that everyone should go through at some point if they want to make polished projects.

Take my project Stylish pong. If I had just used a variable for the counter it would have been much easier, but would it fit the aesthetic? Nope.

If you want to make good looking polished projects, learn how to make good UI. That's all.
I would support this but..

As per this post, no support.
^ This ^
Programming is never supposed to be easy, because if it is, you'll never learn anything. Variables are there to help us “save” things, and I also use it for debugging. But if you want prettier variables and such, learn to make your own variable displayer. It is a valuable learning experience that will really help you. Long ago, 3 years ago, I would have supported this, but now that I understand that Scratch is more than a “game maker”.. No support, as per all the reasons stated before. Keep thinking up ideas, though ^-^ Maybe your next idea would be implemented!
Prinseskat Prinseskat loading

Rumanti wrote:

DaSpudLord wrote:

matey1234 wrote:

FalconGunner99 wrote:

No support, if you want to display information, just learn how to use sprites to make a counter, it's a valuable learning experience that everyone should go through at some point if they want to make polished projects.

Take my project Stylish pong. If I had just used a variable for the counter it would have been much easier, but would it fit the aesthetic? Nope.

If you want to make good looking polished projects, learn how to make good UI. That's all.
I would support this but..

As per this post, no support.
^ This ^
Programming is never supposed to be easy, because if it is, you'll never learn anything. Variables are there to help us “save” things, and I also use it for debugging. But if you want prettier variables and such, learn to make your own variable displayer. It is a valuable learning experience that will really help you. Long ago, 3 years ago, I would have supported this, but now that I understand that Scratch is more than a “game maker”.. No support, as per all the reasons stated before. Keep thinking up ideas, though ^-^ Maybe your next idea would be implemented!
Yeah, as per above.
wizard192 wizard192 loading
Support! This would be a useful feature
DaSpudLord DaSpudLord loading
25% support as per the workaround.

carrot2pufferfish wrote:

A lot of times I need to move variables for various reasons. For example, sometimes they get in the way of sprites or need to move with a sprite.
I would like a block that looks like this:
move variable [variable v] to x:(0) y:(0)::variables

I don't have any particular project that needs this, but it could help with coming up with other projects that uses it.

Support!
alexphan alexphan loading

DaSpudLord wrote:

25% support as per the workaround.

But what is the workaround…?
DaSpudLord DaSpudLord loading

alexphan wrote:

DaSpudLord wrote:

25% support as per the workaround.

But what is the workaround…?

TimothyLawyer wrote:

Create own watcher using a sprite. Then can place anywhere on screen.

Or make a second variable with similar name, set it up in the second location, hide watcher in the first location, copy value over to second variable, show second watcher.
Dy155 Dy155 loading
Support! Also we need move list to x: () y: ()
move [variable v] to x: (direction) y: (x position) :: variables
move [list v] to x: (pick random (-240) to (240)) y: (...) :: list
Also 2nd page!
scratchtj scratchtj loading
This is a necessity.
Sheep_maker Sheep_maker loading
Where would the center of a variable and list watcher be?