# Text sprite extension

**URL:** https://forum.makecode.com/t/text-sprite-extension/1634
**Category:** Arcade
**Created:** [April 7, 2020, 11:39pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634 "2020-04-07T23:39:26Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![jacob\_c](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jacob_c/32/1532_2.png) [@jacob\_c](https://forum.makecode.com/u/jacob_c)
#### Post date: [April 7, 2020, 11:39pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/1 "2020-04-07T23:39:26Z")

</div>

I think I remember seeing @richard live code a simple text sprite extension on a recent-ish livestream. Is that published anywhere?

I think adding “angle” and “power” text labels is one of the next features I’ll need in my Scorched Earth inspired tank game:

> **[charred earth prototype](https://arcade.makecode.com/60928-05747-67167-71237)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [April 7, 2020, 11:54pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/2 "2020-04-07T23:54:29Z")

</div>

We’re still figuring out what the “proper” extension should look like, but I whipped up something real quick to unblock you:

> **[riknoll/arcade-simple-text](https://github.com/riknoll/arcade-simple-text)**
>
> A simple extension for creating sprites out of text - riknoll/arcade-simple-text

---

<div class="post-metadata">

### Author: ![jwunderl](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jwunderl/32/5308_2.png) [@jwunderl](https://forum.makecode.com/u/jwunderl)
#### Post date: [April 8, 2020, 12:01am UTC](https://forum.makecode.com/t/text-sprite-extension/1634/3 "2020-04-08T00:01:37Z")

</div>

Also for anyone curious the stream was [Arcade Advanced Stream #10 - Game idea generator](https://forum.makecode.com/t/arcade-advanced-stream-10-game-idea-generator/1549)

---

<div class="post-metadata">

### Author: ![jacob\_c](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/jacob_c/32/1532_2.png) [@jacob\_c](https://forum.makecode.com/u/jacob_c)
#### Post date: [April 8, 2020, 12:22am UTC](https://forum.makecode.com/t/text-sprite-extension/1634/4 "2020-04-08T00:22:54Z")

</div>

Thanks!

After playing with it a bit, I think I probably do just want to dynamically update a sprite’s image (so, something closer to drawing primitives) rather than making a new sprite for each angle change. But with your extension source and @jwunderl’s link back to the stream, I’m sure I can write my own inline extension to do what I need. (And it’s nice to see an example of how to get the color picker to show up, instead of having to have the color table memorized!)

---

<div class="post-metadata">

### Author: ![joshmarinacci](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/joshmarinacci/32/768_2.png) [@joshmarinacci](https://forum.makecode.com/u/joshmarinacci)
#### Post date: [April 14, 2020, 2:18am UTC](https://forum.makecode.com/t/text-sprite-extension/1634/5 "2020-04-14T02:18:46Z")

</div>

What is the correct way to draw text today? Under **Images** there are functions to draw rectangles, lines, and pixels, but nothing for text. Is there any other non-input requesting way (meaning, not a dialog)?

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [April 14, 2020, 4:13pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/6 "2020-04-14T16:13:27Z")

</div>

@joshmarinacci in blocks, the best way would probably just be to use the extension I linked above or to make your own. We’re still figuring out what the final APIs will be. If you’re just trying to print something to the screen, “sprite say” is the easiest

---

<div class="post-metadata">

### Author: ![joshmarinacci](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/joshmarinacci/32/768_2.png) [@joshmarinacci](https://forum.makecode.com/u/joshmarinacci)
#### Post date: [April 14, 2020, 7:09pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/7 "2020-04-14T19:09:27Z")

</div>

It surprises me that you would have trouble figuring out the final API. In the **Image** collection I see blocks for _draw line in picture_ and _draw rectangle in picture_. I would expect something like _draw text in picture_ where you provide the string, position, and color.

What other features are you considering? Font size? Layout?

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [April 14, 2020, 8:11pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/8 "2020-04-14T20:11:43Z")

</div>

We try to be careful when adding new blocks because it’s very difficult for us to remove a block once it has been shipped. Once it is out in the wild, teachers will take screenshots, people will write lesson plans, etc.

As for what questions we are considering:

1. How do you measure how wide or tall the text will be after it is drawn?
2. Should we even surface the printing literals (i.e. are “higher level” text sprites more useful)?
3. How do we communicate that unicode characters use a different font and so they will be larger than ascii characters?
4. Truncating strings so that they fit in a rectangle is complicated, how can we make that scenario simpler?

---

<div class="post-metadata">

### Author: ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)
#### Post date: [September 9, 2026, 10:47pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/9 "2026-09-09T22:47:02Z")

</div>

Sorry for reviving the thread @richard, but the fancy text extension has none so I have no idea where else to put this haha…

Is there a way to make the text wrap around when it reaches max width but wrap characters instead of words? Here’s an example

```plaintext
maybe som
ething li
ke this

```

```auto
instead of
something
like this

```

Is that possible?

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [September 10, 2026, 5:57pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/10 "2026-09-10T17:57:39Z")

</div>

hmmm, i could add a flag for this in fancy text. can you open an issue?

---

<div class="post-metadata">

### Author: ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)
#### Post date: [September 17, 2026, 9:57pm UTC](https://forum.makecode.com/t/text-sprite-extension/1634/11 "2026-09-17T21:57:22Z")

</div>

Sure

> <https://github.com/riknoll/arcade-fancy-text/issues/10>
>
> This is an issue created in vain of this thread:
> https://forum.makecode.com/t/te…xt-sprite-extension/1634/9?u=sarge
> 
> Add a flag to enable text wrapping by character instead of by word as such:
> 
> \`\`\`
> maybe som
> ething li
> ke this
> \`\`\`
> 
> \`\`\`
> instead of
> something
> like this
> \`\`\`
