Sanp 5 Features Request

I wished the newer version of Snap, Snap 5, includes newer ways to make projects.

I hope that you can make blocks alike "When Green Flag Clicked" and "When I revived [message]" so I can able to make or see blocks like "When Pause Clicked" or "When I send [message]". I want to see more icons and even a way to add icons from your computer. Lastly with the blocks, I hope you can put events to them.

The second thing is costuming the look like the colors, icons, sounds, and even the interface.

The third thing is make Z position. Z position like the Y and Z. But it can turn the sprite to look like it's
3D. (I think it can be very laggy, but we can see how it goes.)

The fourth thing is to port the blocks from Scratch 2.0 and 3.0.

Hi, welcome to the forum!

We welcome feature requests, but it's a little late for 5.0, which is frozen. But don't worry, there will be lots more development into the future.

Some of the things you want I don't understand. If you send a message, (1) you know you sent it! and (2) you'll get a "when I receive" event about it just like other sprites. So I'm not sure what that would add.

People have made 3D extensions to Snap!, but I would argue that 2D is one of the things Scratch got right. Have you used Alice? It has the huge problem that the user's point of view is inside the space. So they have the idea of a camera that you can control. I've watched Alice users having a hard time because they think their program has crashed, and really the program is working fine but the camera is facing away from it. 2D is just a lot easier to deal with.

About modifying the user interface elements, I suppose, although it's not a high priority for us because it doesn't add to your ability to do things in the language. We do have the "flat design" option (in the settings menu) that makes the background white, which some people like.

I think we have most Scratch blocks covered. Try out

"when pause clicked" is a somewhat scary idea; you're clicking pause because your program is running wild and you want it to stop doing that. Starting more scripts isn't what the user wants, I think. We did implement "when I am stopped" for the special needs of robot controllers, which have to turn off the robot's motors when you click the stop sign, but we had to figure out how to make sure that that can't start another runaway script. (It can only run for one display cycle.)

I'm not sure I understand this one. Do you mean costumes? You can drag any picture file from your computer into Snap! and it becomes a costume.

No no, the icons for the custom blocks.

Oh I see. Yeah, you should be able to insert any Unicode character. A lot of them work, but I guess only the ones that are in that font work.

I was talking about making Event Blocks and allowing users to make them. I guess the easiest way is setup it up with the "If ". I also wishing that you can put their or already made event blocks in their custom blocks.

Oh I see. There's the "generic WHEN" blockuntitled%20script%20pic
so you can make your own events. If there's something for which that doesn't work, what you should ask for is a predicate for the missing event.

But what about labeling it, adding icons, and putting them in categories?

Oh, I think I see what you want. But I don't understand what it would mean to put an event block inside a procedure -- oh wait, do you mean that you want a procedure to be able to create a new script, complete with a new hat block? So the procedure would be able to establish a new event to detect?

I guess you want to create "custom hat blocks" (for labeling them, adding icons, putting into categories...).

But as Brian has said, "When < >" is the solution.

You can't create "custom hat blocks" but you can create your "custom predicates" (yes, labeling, icons, categories... and also with input slots). Then, to pick an event, you need two steps (two "drag and drop" actions, one for the "When" block and one for your reporter). But this isn't so heavy, and I think is clear.

To implement "real custom hat blocks" maybe is not a good solution, because they are "real listeners" in our system... and they can cause problems.

The result...something like this...

Thanks for the idea!

Sometimes it's impossible to see blocks with flat design on: