Me_Tis wrote:

TimothyLawyer wrote:

The Unicode white down-pointing small triangle (U-25BF) could be used to indicate the dropdown variable.

define move [direction ▿]
if <(direction ▿)=[up]>
point in direction (0 v)
end
if <(direction ▿)=[down]>
point in direction (180 v)
end
move (10) steps

when green flag clicked
move [up v]
move [down v]
Makes sense… the only thing is that although the input method for a dropdown input would be different it would behave pretty much like a string, so maybe it doesn't need an arrow symbol.. Although if this makes it easier to understand for beginners then I guess so…

True.

When I saw your example it helped me to think about how this could be done.

define move [direction]

gave me an expectation of

move [ ] ::custom

//or

move () ::custom

but not

move [down v] ::custom

as the block it would define.

So a new solution occurs to me.

define move [direction] ▾ 






move [down v] ::custom
ScratchBlocks doesn't support v for a drop-down menu for the define block.

So the v is Unicode black down-pointing small triangle (U+25BE).

Clicking on the in the define block (where it's white) would show a menu of lists.

Select a list and the items of the list become the options in the drop-down menu in the custom block.

A blank list item would produce a non-selectable separator line (the black bar).

A list item of the form (number) string would produce menu options like in the direction block.

Thus, each drop-down menu in a custom block would be defined by a Scratch list.

Easy-peasy