# \[Extension\] arcade-drawing-utils

**URL:** https://forum.makecode.com/t/extension-arcade-drawing-utils/42734
**Category:** Show & Tell
**Tags:** extension
**Created:** [March 17, 2026, 5:57pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734 "2026-03-17T17:57:09Z")
**Posts on this page:** 20
**Page:** 1

<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: [March 17, 2026, 5:57pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/1 "2026-03-17T17:57:09Z")

</div>

Hey folks!

Time for another extension inspired by the Zelda-like game we’ve been working on for stream. I present: [riknoll/arcade-drawing-utils](https://github.com/riknoll/arcade-drawing-utils)

> **[GitHub - riknoll/arcade-drawing-utils: A MakeCode Arcade extension with utils for drawing...](https://github.com/riknoll/arcade-drawing-utils)**
>
> A MakeCode Arcade extension with utils for drawing to the screen

This extension has some notable improvements over the base drawing blocks in the image category:

- All x/y coordinates in the drawing functions are represented by points rather than two numbers. You can also use sprites or tilemap locations wherever a point is accepted
- All of the target image shadow blocks are replaced with the screen by default
- The fill and outline blocks are combined with a dropdown to switch between
- Adds circles, triangles, and four sided polygons
- Adds a block for drawing a thick line in addition to the usual 1-pixel wide lines
- Adds a block for copying part of an image to another image
- Adds a block for drawing tilemaps to the screen (great for games with multiple tilemaps)

In addition to drawing, there are some other new transform blocks for some nifty image effects:

- Lots of blocks for swapping colors in images
- A new block for scrolling images by an x/y value
- A block for rotating images in 90 degree increments

Finally, this extension also provides lots of way for you to make custom render functions that draw to the screen:

- Render on z (just like the similar block in jwunderl/arcade-sprite-utils)
- A dockable version of render on z that you can place inside a function
- Renderables that can be assigned to variables and destroyed (great for drawing temporary things like effects or menus)
- Blocks for rendering above/below individual sprites. Great for applying effects to sprites like [flashing when taking damage](https://arcade.makecode.com/S91428-18801-68843-05645) or for making sprites that [are drawn entirely using shapes](https://arcade.makecode.com/S61983-13727-78829-82547)
- A loop that loops over all of the tilemap locations that are currently visible on screen (great for [Animating tiles in tilemaps](https://arcade.makecode.com/S65789-16926-21960-00510))

## Examples

- [Animating tilemap tiles](https://arcade.makecode.com/S65789-16926-21960-00510)
- [Making a player or enemy sprite flash when taking damage](https://arcade.makecode.com/S91428-18801-68843-05645)
- [Creating sprites that are drawn using shapes so that they can be rotated smoothly](https://arcade.makecode.com/S61983-13727-78829-82547)

---

<div class="post-metadata">

### Author: ![AlexK](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/alexk/32/33339_2.png) [@AlexK](https://forum.makecode.com/u/AlexK)
#### Post date: [March 17, 2026, 6:24pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/2 "2026-03-17T18:24:47Z")

</div>

This has been such a fun series to watch! I’m looking forward to watching live on Friday! I have Fridays off now, so I’m hoping to catch y’all every week. I missed last week because I got distracted. 😆

---

<div class="post-metadata">

### Author: ![Luke](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/luke/32/32519_2.png) [@Luke](https://forum.makecode.com/u/Luke)
#### Post date: [March 17, 2026, 6:45pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/3 "2026-03-17T18:45:40Z")

</div>

its crazy how many extensions you’ve been releasing and just when im getting rlly busy lol

---

<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: [March 17, 2026, 6:46pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/4 "2026-03-17T18:46:11Z")

</div>

hehe i’ve got a bunch more that i haven’t even posted yet

---

<div class="post-metadata">

### Author: ![xInsqne1](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/xinsqne1/32/34060_2.png) [@xInsqne1](https://forum.makecode.com/u/xInsqne1)
#### Post date: [March 17, 2026, 6:46pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/5 "2026-03-17T18:46:25Z")

</div>

I love all these extensions you bring out/everyone else who does, but my brain kind of just breaks in two when I try to understand any of them 😅

---

<div class="post-metadata">

### Author: ![BlueYoshi507](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/blueyoshi507/32/32630_2.png) [@BlueYoshi507](https://forum.makecode.com/u/BlueYoshi507)
#### Post date: [March 17, 2026, 7:40pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/6 "2026-03-17T19:40:28Z")

</div>

But it’s not compatible w/ sprite utils :(((

---

<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: [March 17, 2026, 7:40pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/7 "2026-03-17T19:40:52Z")

</div>

@BlueYoshi507 it totally is, not sure what you’re referring to

---

<div class="post-metadata">

### Author: ![NeverStopTheCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neverstopthecoder/32/21194_2.png) [@NeverStopTheCoder](https://forum.makecode.com/u/NeverStopTheCoder)
#### Post date: [March 17, 2026, 8:04pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/8 "2026-03-17T20:04:43Z")

</div>

wasent there already a extension for animation tiles?

---

<div class="post-metadata">

### Author: ![NeverStopTheCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neverstopthecoder/32/21194_2.png) [@NeverStopTheCoder](https://forum.makecode.com/u/NeverStopTheCoder)
#### Post date: [March 17, 2026, 8:04pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/9 "2026-03-17T20:04:52Z")

</div>

also Im a little confused why cant I just animate the player the tiles kinda make sense and the shapes why can I just again animate the sprites

---

<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: [March 17, 2026, 8:05pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/10 "2026-03-17T20:05:40Z")

</div>

do whatever you’re comfortable with! there are lots of ways to do similar things. this extension gives you a lot more flexibility in how you draw things, but i’d also say it’s at the expense of being much more complicated/advanced

---

<div class="post-metadata">

### Author: ![NeverStopTheCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neverstopthecoder/32/21194_2.png) [@NeverStopTheCoder](https://forum.makecode.com/u/NeverStopTheCoder)
#### Post date: [March 17, 2026, 9:15pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/11 "2026-03-17T21:15:56Z")

</div>

maybe they mean like could be combined all in one

---

<div class="post-metadata">

### Author: ![Rune](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/rune/32/18951_2.png) [@Rune](https://forum.makecode.com/u/Rune)
#### Post date: [March 19, 2026, 5:18pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/12 "2026-03-19T17:18:56Z")

</div>

All visible tiles will help SO MUCH! Thank you!!!

---

<div class="post-metadata">

### Author: ![NeverStopTheCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neverstopthecoder/32/21194_2.png) [@NeverStopTheCoder](https://forum.makecode.com/u/NeverStopTheCoder)
#### Post date: [March 20, 2026, 12:23am UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/13 "2026-03-20T00:23:28Z")

</div>

like don’t render what’s not on screen?

---

<div class="post-metadata">

### Author: ![NeverStopTheCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neverstopthecoder/32/21194_2.png) [@NeverStopTheCoder](https://forum.makecode.com/u/NeverStopTheCoder)
#### Post date: [April 12, 2026, 5:43pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/14 "2026-04-12T17:43:04Z")

</div>

yeah i found it **[TilesXtra - new extension with animated tiles](https://forum.makecode.com/t/tilesxtra-new-extension-with-animated-tiles/15728)** has animated tiles

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [June 1, 2026, 5:11pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/15 "2026-06-01T17:11:25Z")

</div>

why does no one talk about THIS

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/7/d/7dbccfe948d9c19cd5a2aa883f833670b3d55036.png)  
this could be so useful for drawing a tail like that one tail game thingy @TeddyB asked help on

---

<div class="post-metadata">

### Author: ![coppercode](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/coppercode/32/26022_2.png) [@coppercode](https://forum.makecode.com/u/coppercode)
#### Post date: [June 1, 2026, 5:31pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/16 "2026-06-01T17:31:31Z")

</div>

Hi is there a way to make these sprites images with your extenstion?

> **[swing test soft body extension](https://arcade.makecode.com/S00388-39824-45751-18642)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [June 2, 2026, 4:49pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/17 "2026-06-02T16:49:39Z")

</div>

[https://makecode.com/\_ewhX6g7v60fp](https://makecode.com/_ewhX6g7v60fp) Richard is the remove renderable block working it doesn’t seem to remove the renderables in my demo

---

<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: [June 2, 2026, 4:56pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/18 "2026-06-02T16:56:39Z")

</div>

hmm, yeah looks like there may be a bug. i’ll take a look when i have a sec

but, i think i should also point out you’re using the “render above sprite” block incorrectly:

- you never want to call “render above sprite” inside of an on game update, you only need to register the handler once (i.e. when you create the sprite)
- that block is for rendering to the screen, but you’re drawing to a sprite’s image (which you don’t need a special block to do). try changing the image to the `screen` block from the images category and see if that’s closer to what you want
- if the “remove all renderables” block was working, your code would result in nothing being drawn to the screen because you’re immediately removing the renderable after registering it. renderables don’t run immediately, they only run when the screen is rendered

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [June 3, 2026, 11:44pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/19 "2026-06-03T23:44:11Z")

</div>

> **[building with utils](https://arcade.makecode.com/45124-68701-16759-35562)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

new bug z depth not working properly or I’m just bad if its the second option could you find a way to fix it

---

<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: [June 4, 2026, 4:40pm UTC](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734/20 "2026-06-04T16:40:23Z")

</div>

i have no idea what you’re trying to do in this program, i need more context than that

[Next page](https://forum.makecode.com/t/extension-arcade-drawing-utils/42734.md?page=2)
