# \[Extension\] Arcade Easing - Move your sprite from A to B in style!

**URL:** <https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077>\
**Category:** Show & Tell\
**Tags:** extension\
**Created:** [September 5, 2025, 4:08pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077 "2025-09-05T16:08:02Z")\
**Posts on this page:** 20\
**Page:** 2

<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:** [September 28, 2025, 2:56am UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/22 "2025-09-28T02:56:41Z")

</div>

I love seeing my first-ever extension getting used in so many different projects. Gorgeous work, Chimbro!

---

<div class="post-metadata">

**Author:** ![not\_a\_lemon](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/not_a_lemon/32/35289_2.png) [@not\_a\_lemon](https://forum.makecode.com/u/not_a_lemon)\
**Post date:** [September 29, 2025, 12:43am UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/23 "2025-09-29T00:43:35Z")

</div>

I honestly find image transformations really hard NOT to use, it’s so useful!

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [September 29, 2025, 12:45am UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/24 "2025-09-29T00:45:23Z")

</div>

Ehe… how would you even go about that?

---

<div class="post-metadata">

**Author:** ![RoboVacDev](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/robovacdev/32/29619_2.png) [@RoboVacDev](https://forum.makecode.com/u/RoboVacDev)\
**Post date:** [January 12, 2026, 6:44pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/25 "2026-01-12T18:44:33Z")

</div>

This is pretty nice. How can we direct where the sprite goes?

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [January 15, 2026, 11:15pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/26 "2026-01-15T23:15:19Z")

</div>

Depends whatcha mean, for the first block you just put in the x and y for where you want it to ease and it just… eases.

---

<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:** [June 24, 2026, 4:53pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/27 "2026-06-24T16:53:08Z")

</div>

Okay, I know I am about a year late, but could I get an update that allows for easing just a number variable? It would be a small change, but immensely useful.

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [June 24, 2026, 7:05pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/28 "2026-06-24T19:05:03Z")

</div>

Yeah sure! Ill get to it

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [June 27, 2026, 11:46pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/29 "2026-06-27T23:46:51Z")

</div>

I’m still trying at it but I’m getting unsure if this is actually possible… I don’t know if it’s actually doable to keep returning values from a singular number block, I’m still more noob than pro but still… sorry to ping this is so stupid but `@richard` does this sound possible?

---

<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:** [June 27, 2026, 11:47pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/30 "2026-06-27T23:47:58Z")

</div>

I removed the ping to Richard because he’s not the only one who can help you on this. 😃 Describe in more detail how you’re thinking about implementing this, Chimbro. I can think of a few ways where you might be able to do this.

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [June 28, 2026, 5:21pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/31 "2026-06-28T17:21:37Z")

</div>

Oh hey AlexK! Ok here goes… I’m not that good at extension stuff so I may get some wording wrong, but…

 ![IMG_0002](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/4/8/485ae6ab4772f7c4ec8888f4165476d691937ffe.jpeg)

For the actual part of the extension that implements the easing, it’s all in one giant class function (called THE JOB SYSTEM, might be better than the one in my country), which has a switch case in the update section for when the user puts in what type of thing they want to ease. I tried adding another type for the number idea, by adding another property and subbing all the easing stuff into that, then returning it in the number block.

 ![IMG_0003](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/5/c/5c7fc9ecdff672cf83b528ccbc6d4104d6fc5e53.jpeg)

And once it wasn’t working (I mean, nothing ever works first try but hehe I mean anyhow) I started questioning the fact that the function I’m easing isn’t actually in the update section of my easing implementer, so how would it be possible to return every value in the ease, one at a time, and not just the first one? This is kinda where I got stuck and finally gave in to my major coding skill issue and never showed my face to society ever again

Anyway…

This is the part that I stopped at:

 ![IMG_0004](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/3/6/36cd30338a2acf640a3b8b3e59734d664c7758a3.jpeg)

I’m interested as to how you think it’s possible, I’ve thought about it for a bit and see basically no way around it 🤔. Like how can you make a function return a value into a variable over and over and over? It just felt like an unsaid rule of thumb that it isn’t possible and only functionally makes sense in a class function.

---

<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:** [June 28, 2026, 6:17pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/32 "2026-06-28T18:17:26Z")

</div>

You definitely have the right idea, Chimbro! And I think you have all of the pieces of the puzzle. Still, this is a tough one.

You have an `update()` function that is called automatically by your extension. I assume somewhere in your extension, you call that in a `game.onUpdate()` call.

You could implement a similar function for numbers, but then **return the current value** , as a function cannot manipulate a variable and have it persist outside of the function. So, you’d have something like this in your extension:

```typescript
updateNumber(): number {
    // Start with this, since you're missing the `now` parameter.
    // You'll need to keep track of the `startTime`s for each job ID.
    now: number = game.runtime() - startTime
    // Do your magic here.
    // Remember to return the updated value.
    return newValue
}

```

Then, you’d need the user to both initiate the easing function as usual, but then also update the variable in a `game.onUpdate()` call.

```typescript
// Somewhere in `main()`
// easeNum() will need to return the job ID.
let myEasedVariable: number
let myJobId: number = easeNum(0, 10, 1000, `pick a mode`)

game.onUpdate(() => myEasedVariable = updateNum(myJobId))

```

It’s not as clean as easing a sprite, since a sprite can retain state information, whereas a number variable cannot.

Your other option is to create a custom type. Cleaner for the user, but they’ll need to use your custom type and not a simple numeric variable.

Just some ideas. Happy to explain anything in more detail.

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [June 28, 2026, 10:30pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/33 "2026-06-28T22:30:30Z")

</div>

Ahhhhhhh… I seeeeeeeeee…

Okay! That makes sense, I think I was a bit too tunnel visioned on it being one pure, perfect block, mainly because I already have the generic easing function block, but I mean, sure, glad to know it’s possible at the very least! I’ll see what I can doooooo… this might use up a bit of brain juice stuff…

---

<div class="post-metadata">

**Author:** ![TheGooberEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/thegooberearth/32/36693_2.png) [@TheGooberEarth](https://forum.makecode.com/u/TheGooberEarth)\
**Post date:** [August 20, 2026, 4:29pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/34 "2026-08-20T16:29:13Z")

</div>

Could you add a way to use speed without ms as the only method I know I could create a function to calculate the time but that’s boring

---

<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:** [August 24, 2026, 11:01pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/35 "2026-08-24T23:01:49Z")

</div>

It’s literally just the distance divided by speed to get the time. Though this would be a nice feature to have

---

<div class="post-metadata">

**Author:** ![TheGooberEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/thegooberearth/32/36693_2.png) [@TheGooberEarth](https://forum.makecode.com/u/TheGooberEarth)\
**Post date:** [August 24, 2026, 11:14pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/36 "2026-08-24T23:14:47Z")

</div>

I know I also made the function after posting this but it would be nice to be added

---

<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:** [August 31, 2026, 1:22am UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/37 "2026-08-31T01:22:02Z")

</div>

Just came across this and I have to say, damn Chimbro I was not familiar with your game  
Brilliant stuff, I always wished for something like this in makecode

---

<div class="post-metadata">

**Author:** ![YamJamTheGoober](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/yamjamthegoober/32/29681_2.png) [@YamJamTheGoober](https://forum.makecode.com/u/YamJamTheGoober)\
**Post date:** [August 31, 2026, 5:50am UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/38 "2026-08-31T05:50:47Z")

</div>

Just realized that I need this extension for every title screen I make (that I want to look good), so PLEASE TRY AND GET THIS ON THE EXTENSIONS HOME SCREEN

---

<div class="post-metadata">

**Author:** ![ChimbroDaPro](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/chimbrodapro/32/15852_2.png) [@ChimbroDaPro](https://forum.makecode.com/u/ChimbroDaPro)\
**Post date:** [September 3, 2026, 2:13am UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/39 "2026-09-03T02:13:56Z")

</div>

Wait oh holy cow Mr. @Sarge posted 😭 what a jumpscare

Also sorry @Rune that I couldn’t add that one thing, I’m getting stun locked by… existence

---

<div class="post-metadata">

**Author:** ![TheGooberEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/thegooberearth/32/36693_2.png) [@TheGooberEarth](https://forum.makecode.com/u/TheGooberEarth)\
**Post date:** [September 3, 2026, 9:47pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/40 "2026-09-03T21:47:16Z")

</div>

Question do you live on earth I could stun lock you too

---

<div class="post-metadata">

**Author:** ![Sword\_Studios](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sword_studios/32/36911_2.png) [@Sword\_Studios](https://forum.makecode.com/u/Sword_Studios)\
**Post date:** [September 19, 2026, 7:53pm UTC](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077/41 "2026-09-19T19:53:56Z")

</div>

Sorry I’ve been talking on your old topics a lot but is there a way to ease a sprite like this:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/e/b/eb8b622db501f93f3bb1af3ab389d2c5ecf82224.png)

With the arc?

[Previous page](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077.md?page=1)

[Next page](https://forum.makecode.com/t/extension-arcade-easing-move-your-sprite-from-a-to-b-in-style/39077.md?page=3)
