Scratch-gui: Will a pen text block be added into Scratch?

Created on 7 May 2020  ·  18Comments  ·  Source: LLK/scratch-gui

Will a pen text block be added into Scratch?

If it can be added, pen projects will be much
more simpler.

(Screenshot taken from another website)
IMG_20200507_062746

feature

Most helpful comment

You could go down the route of adding it to pen, using pen width to set the
size of the font (relative). Or you could add a text extension that have
you more control including font size, alignment and text width reporters.

To be honest, of prefer the latter, and it might be worth considering
allowing the text later to be able to be at the front of all other
layers...? As you say it's a hard call though as there are so many use
cases that vary what works be most useful. If the text is limited to pen
then it will look bad...

How about a completely new idea, a scratch block that changes the costume
of the current sprite into the vector costume of a given text string for
example? Then we could create clones, order then, move them, rotate them,
add effects... Could be great! Just what I need lol :)

On Fri, 8 May 2020, 05:30 Benjamin Wheeler, notifications@github.com
wrote:

There has been some thinking about this over the years, but there has
never been a design proposal that everyone felt fit just right. Proposals
for how this would work are welcome. How would positioning work? How would
font choice work? How would size work? How would multiple lines work?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/LLK/scratch-gui/issues/5714#issuecomment-625623833,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTM3PX2YMQPMAWW2AMZ7HDRQODHHANCNFSM4M22O7NA
.

All 18 comments

No, i don't think so. You do have one in Snap:
image

There has been some thinking about this over the years, but there has never been a design proposal that everyone felt fit just right. Proposals for how this would work are welcome. How would positioning work? How would font choice work? How would size work? How would multiple lines work?

You could go down the route of adding it to pen, using pen width to set the
size of the font (relative). Or you could add a text extension that have
you more control including font size, alignment and text width reporters.

To be honest, of prefer the latter, and it might be worth considering
allowing the text later to be able to be at the front of all other
layers...? As you say it's a hard call though as there are so many use
cases that vary what works be most useful. If the text is limited to pen
then it will look bad...

How about a completely new idea, a scratch block that changes the costume
of the current sprite into the vector costume of a given text string for
example? Then we could create clones, order then, move them, rotate them,
add effects... Could be great! Just what I need lol :)

On Fri, 8 May 2020, 05:30 Benjamin Wheeler, notifications@github.com
wrote:

There has been some thinking about this over the years, but there has
never been a design proposal that everyone felt fit just right. Proposals
for how this would work are welcome. How would positioning work? How would
font choice work? How would size work? How would multiple lines work?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/LLK/scratch-gui/issues/5714#issuecomment-625623833,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTM3PX2YMQPMAWW2AMZ7HDRQODHHANCNFSM4M22O7NA
.

So... That costume idea, when you use the set text costume to "griffpatch",
the current sprite costume is generated in the fly too the text
"griffpatch". I can size and position and even stamp it if required. Then
if I use "set costume" afterwards the sprite will return to the normal
costumes (and the text costume will cease to exist). You would still need
to consider how to select font, and text alignment, etc

On Fri, 8 May 2020, 08:23 Andrew Griffin, andy@griffpatch.co.uk wrote:

You could go down the route of adding it to pen, using pen width to set
the size of the font (relative). Or you could add a text extension that
have you more control including font size, alignment and text width
reporters.

To be honest, of prefer the latter, and it might be worth considering
allowing the text later to be able to be at the front of all other
layers...? As you say it's a hard call though as there are so many use
cases that vary what works be most useful. If the text is limited to pen
then it will look bad...

How about a completely new idea, a scratch block that changes the costume
of the current sprite into the vector costume of a given text string for
example? Then we could create clones, order then, move them, rotate them,
add effects... Could be great! Just what I need lol :)

On Fri, 8 May 2020, 05:30 Benjamin Wheeler, notifications@github.com
wrote:

There has been some thinking about this over the years, but there has
never been a design proposal that everyone felt fit just right. Proposals
for how this would work are welcome. How would positioning work? How would
font choice work? How would size work? How would multiple lines work?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/LLK/scratch-gui/issues/5714#issuecomment-625623833,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTM3PX2YMQPMAWW2AMZ7HDRQODHHANCNFSM4M22O7NA
.

Here's my idea:
Text Extension
write [] - write the text using current settings. the text won't be updated when they change.
set color to [] - set color using color
set () to () - set width and color using numeric value like Pen
change () by () - see above
set font to () - setting the font, the option is just paint editor's
width of [] - calculating width of the text. this may be slow but who knows
clear all text - clearing all text

position: the sprite's X and Y is used
alignment: I think, with all those blocks above, it's possible to do it user-side.
layer: I think the front layer is good, but maybe we can add options to change it to "between stage and pen", or "under pen".

this is something that i would really like to see, it seems like a very simple feature that would really lower the bar of entry for some really nice things. right now if you want to print custom text, you'll have to use someone's PTE or CTE but they're not exactly very efficient or easy to use as something built into scratch.

people can be more creative if they can print text to the screen, right now it seems like a really odd limitation of scratch.

edit:
i think a good group of people to ask about the design for something like this would be the people who make PTEs or CTEs on scratch.

in my opinion, this would be an extension of the pen extension. i think the whole costume idea seems a bit over complicated

edit edit:
thinking about it more, i think @griffpatch's idea is the best, as it would be the "scratch" way of doing it, and would have a lot more power. for example, i could make clones of text and move them around as i wish, ooh just thinking about it makes me excited to make stuff with it

I agree with @griffpatch that it would be useful to be able to revise the text's content without having to redraw any overlapping pen drawing. That would require that a piece of text be kept track of as an instance.

To elaborate on the "costume" approach, but with some changes from @griffpatch's proposal...

One way to do this would be:

  1. introduce a positionable text extension
  2. when positionable text extension is present, each sprite (and each clone) can have up to one text instance
  3. the text would be located at the sprite's location, so all move blocks, color blocks and size blocks would work as normal
  4. the text would appear over the sprite's costume; to make the text appear with nothing else, create or choose an empty costume
  5. under the hood, the scratch vm would see the costume as a dynamically generated image, with svg text added on top of the costume. Thus the vm wouldn't have to even know about the text.
  6. extension blocks would exist to change that sprite's text's content, font, and justification (left/center/right), as @griffpatch suggested
  7. multi-line text could also be possible, if blocks are added to set line height and margin width

I'm interested in this as well (and have thought about it for a long time). I'm hoping to do some prototyping so we can compare these different concepts. My guess is that the idea where a sprite's costume becomes text (or the text is layered onto it) will be the one that feels simplest and most powerful. Even though it is different from existing PTEs, it should be more accessible to beginners, and still afford most or all of the same flexibility. I think! We gotta try it...

I think what @griffpatch suggested sounds like a great idea! With this there would be very precise controll of things like text wrapping, size, color etc. in an intuitive way.

@benjiwheeler Just noting that if multi-line text is supported, vertical align comes into play too (in addition to justification).

I think implementing a text extension (either with pen or with costume) will make Scratch projects much more expandable, lighter and faster. Recently I saw a project called Ivis's Fantasy, in order to display the conversation char by char, he created more than 800 costumes(Of course he did it by using a program to add text costumes automatically). He is a Chinese Scratcher. Lastly, I think both pen text and costume text are important.

If you have costume text, then you should be able to stamp which gives you
the pen text for free... which is rather neat.
One note, if the text was to be 'added' to an existing costume, the
downside is that 'touching' blocks would then report they were touching the
sprite if they touched the text... but I guess there are issues with that
in all sprite based text ideas. It would be super nice if scratch had an
'exclude from touching' toggle feature on sprites so you could make clones
and opt in or out of touching per clone... but that's another issue :)

On Thu, 14 May 2020 at 11:51, cyx2015s notifications@github.com wrote:

I think implementing a text extension (either with pen or with costume)
will make Scratch projects much more expandable, lighter and faster.
Recently I saw a project called Ivis's Fantasy, in order to display the
conversation char by char, he created more than 800 costumes(Of course he
did it by using a program to add text costumes automatically). He is a
Chinese Scratcher. Lastly, I think both pen text and costume text are
important.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/LLK/scratch-gui/issues/5714#issuecomment-628554258,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTM3PSHRGOT3B6J7Z2T4FDRRPEJNANCNFSM4M22O7NA
.

@griffpatch. The problem with adding toggles and setting such as alignment, exclude from touching, etc. is that eventually the system gets to complex and confusing for scratchers, especially new scratchers. Another problem with the costume based approach is that when using the stamp block the quality of the stamp is much lower than that of the sprite. Therefre in my opinion a costume based approach is still better as it keeps scratch being intuitive while still adding features that if added in a different manner could be seen as advanced and/or confusing. Also for the touching problem could you use broadcasts and a run with out screen refresh custom block to wuickly hide, sense then show again?

@cyx2015s By the way, what website is that?

@cyx2015s By the way, what website is that?

www.aerfaying.com

Cool idea, I support 👍🏻

Same here! :) This sounds cool.
>
>

Look forward to this new feature.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ericrosenbaum picture ericrosenbaum  ·  4Comments

kyleplo picture kyleplo  ·  4Comments

thisandagain picture thisandagain  ·  4Comments

ericrosenbaum picture ericrosenbaum  ·  3Comments

fsih picture fsih  ·  3Comments