Make go to blocks update to sprite's position

In scratch, the go to block automatically sets the x and y position in the pallete to the x and y position of the sprite that you are currently looking at. If you are making a setup script is saves up to 10 seconds of precious typing time when you want the sprite to start where it currently is at the moment. (just in the pallete)

It's always been that way in Snap! and has never made it to the top of the implementation list.

I would like to have it as well

Wait it's already in Snap?

No - it's not in Snap!
I would like it as well

Meanwhile here's a suggestion: Drag a untitled script pic (7) block into the scripting area and leave it there. When you want to capture the current position, click it, then right-click the resulting speech balloon and choose Blockify. Then drop the resulting LIST block onto a untitled script pic (8) block.

Well - 10/10 for coming up with a workaround but it's still a LOT of fiffing and faffing compared to the way Scratch does does it silently in the background :slight_smile:

The Scratch behaviour is very helpful when working/teaching with younger programmers :slight_smile:

image
I right clicked the balloon and no blockify option popped up

You need the position block not the x postion one

oop had a brain fart lol. Scratch doesn't have a position block.

That takes more time than just typing in the x and y positions. And, you can't add blocks into other blocks in the pallete (which could be another suggestion)

Snap! is much more about powerful coding than ease of use features

Swings and Roundabouts :slight_smile:

In the dev version, you can use this script to auto update the default value to the sprite position when it changes. The only problem with this is that it doesn't check for the currently selected sprite.

Genius :slight_smile:

Seems to work fine - what do you mean by

If you're in another sprite, you'd expect the block to update to the sprite you're editing, not another one.

Although, I guess one way to fix that is by using the when [anything V] is edited @addInput block to tell the other script which sprite has been edited last, and update the position accordingly.

At the end of the day, the Scratch way of working is what we want but nice to see clever workarounds :slight_smile:

Alright, I've just added a bit more code to check for the last edited sprite. As a bonus, it ignores the stage, since the stage has no position.

By the way, I was running this script in the stage, I don't know if it works as a sprite, but it should.

The only issue I can think of that would break this, is if you use a script to edit some block. This can't tell the difference between user and script edits, it can only check if the block edited was the go to block, which I have to do.

Oh yes, that's brilliant!

So, that's one feature we don't have to invent... I love that users can hack the UI now.

Now we just need first class menus and the ability to add one to the task bar! Hi, Jens. :~)

Every project I start, I create a reset block, atleast I do unless I'm feeling lazy lol... it basically clears, then returns the sprite to 0,0 and makes the sprite point 90 degrees. I often put in a pen up or pen down block but usually remove it because it glitches out whatever I'm building lol.

I wish there was an easier way to see if the pen is up or down, because I notice the most common blocks in all my projects are the pen status blocks, they spread fast!

You can even check a box next to it to add a watcher to the stage.

I'd prefer it elsewhere than cluttering the stage to be honest, but you're right. What I should be doing is programming checks into my scripts, or have one in the scripting area under the reset block.